Aaron Nola tossed four-hit ball over seven shutout innings and Nick Castellanos hit a three-run homer to lead the Philadelphia Phillies to their fourth straight win, 5-0 over the visiting AL West-leading Houston Astros on Tuesday night.

The Phillies have won eight of their last 13 games and maintained their six-game lead over Atlanta in the NL East.

Nola (12-6) earned a needed win after going winless in his last seven starts, a span that included five no-decisions and two losses. The right-hander last won a game on July 11 against the Dodgers.

Nola struck out six Astros and walked one over his 102 pitches.

He had the run support he needed after the Phillies scored four times off Justin Verlander (3-4) in the third.

Trea Turner poked a single to right that scored Austin Hays, who led off with a double. Bryce Harper sliced a single to left that set the stage for Castellanos, who hit a curveball into the left field seats for his 18th homer of the year and a 4-0 lead.

ROYALS 6, GUARDIANS 1 >> Paul DeJong hit a two-run homer and Kansas City caught host Cleveland atop the AL Central.

The Royals (75-58), who lost 106 games last season, improved to a league-best 23-13 since the All-Star break, when they trailed the Guardians by seven games.

Cleveland had been sitting alone in first in the division since April 14 before dropping the first three games in this series. The Guardians have lost nine of 12 and are just 17-21 since the break.

DeJong connected in the second inning off Gavin Williams (2-7), and the Royals tacked on three runs in the seventh off Scott Barlow on RBI singles by Maikel Garcia and Michael Massey, and a wild pitch.

PADRES 7, CARDINALS 5 >> Jake Cronenworth hit a tiebreaking RBI single in San Diego’s two-run seventh, and the Padres rallied past St. Louis for their third consecutive win.

Manny Machado homered for San Diego, and Luis Arraez had three hits.

Padres right-hander Dylan Cease threw 96 pitches in 4 1/3 innings and was charged with four runs and seven hits.

Paul Goldschmidt homered for St. Louis in its third loss in four games. Miles Mikolas permitted four runs and six hits in 5 2/3 innings.

NATIONALS 4, YANKEES 2 >> Dylan Crews got the first two hits of his career and Andrés Chaparro and José Tena hit back-to-back homers on a banner night for host Washington’s rookies as the Nationals ambushed Gerrit Cole and New York.

Aaron Judge doubled in the first inning but remained stuck on 51 homers for the AL-best Yankees. He came up with the bases loaded and no outs in the eighth against reliever Jacob Barnes but grounded into a double play on a 3-1 pitch to score New York’s first run.

Patrick Corbin (4-12) outpitched Cole, using superb command to quiet the Yankees’ powerful lineup. The veteran left-hander allowed two hits and struck out six in six innings.

Crews lined a 2-0 cutter from Cole (5-3) off the base of the wall in left field for a 104.4 mph double in the second. The third-ranked prospect in baseball, who went 0 for 3 in his major league debut a night earlier, raised his arms and swiveled his hips while standing on the bag as the crowd cheered. Crews’ hit moved Tena to third, and Joey Gallo followed with an RBI grounder.

Chaparro led off the fourth by lofting a high fastball over the wall in left field for his first career homer, and Tena followed with a drive to right-center.

Cole, who did not allow a run in either of his previous two starts, gave up three runs on six hits — four for extra bases — in five innings.

GIANTS 5, BREWERS 4 >> Mike Yastrzemski hit a two-run homer in the seventh inning to put San Francisco ahead for good in a road victory over NL Central-leading Milwaukee.

Matt Chapman went 3 for 4 with a homer for the Giants.

The Brewers’ Willy Adames and Jackson Chourio hit towering two-run homers off Giants starter Logan Webb. Before Tuesday, Webb hadn’t allowed a homer in his last 43 1/3 innings.

BRAVES 8, TWINS 6, 10 INNINGS >> Matt Olson drove in the go-ahead run on a fielder’s choice, Travis d’Arnaud added an RBI single and Ramón Laureano put the game away with a two-run double as Atlanta scored four times off Jhoan Duran (6-8) in the 10th to beat host Minnesota.

The Braves, who led 4-0 before the Twins rallied late, won for the eighth time in 10 games.

RED SOX 6, BLUE JAYS 3 >> Jarren Duran led off with a homer, Masataka Yoshida added a two-run single in a three-run first inning, and Boston ended a four-game losing streak with a win over Toronto at Fenway Park.

The Red Sox also ended the Blue Jays’ five-game winning streak.

Will Wagner hit his first career homer for Toronto.

Hill returns to MLB

Pitcher Rich Hill is back in the majors, nearly two decades and more than a dozen teams since he made his big league debut.

The Boston Red Sox selected the 44-year-old lefty from Triple-A Worcester as Hill tries to add a little more history to a lengthy career. One outing in 2024 would make him the only active player to appear in a game in each of the past 20 seasons.

“He looks great physically. He’s always taking care of that part. He’s excited to be back,” Red Sox manager Alex Cora said.

With an injury-depleted pitching staff, it’s unclear how the Red Sox plan to utilize Hill and where he might fill in. He’s willing to provide whatever the club needs, Cora said.

This is Hill’s fourth stint with the Red Sox, who signed him to a minor league deal Aug. 16. Hill threw two scoreless innings Friday for Worcester.

He has pitched for 13 MLB teams, one short of Edwin Jackson’s record.

Hill, born in Boston, is 90-73 with a 4.01 ERA in 382 career games, including 248 starts. He also pitched for the Red Sox from 2010-12, then again in 2015 and 2022. He spent last season with the Pittsburgh Pirates and San Diego Padres.

Hill made his big league debut with the Chicago Cubs in 2005. He also has pitched for Baltimore, Cleveland, Oakland, the Angels, Yankees, Dodgers, Twins, Rays and Mets.

Over four seasons with the Dodgers (2016-19), Hill was 30-16 with a 3.16 ERA over 69 games.