Lance McCullers Jr. pitched six sparkling innings for his first win since 2022, and Christian Walker and Isaac Paredes hit late home runs as the visiting Houston Astros beat the Pittsburgh Pirates 3-0 on Tuesday night.

McCullers (1-1) won a tight duel with Pirates ace Paul Skenes, allowing just two hits and one walk while striking out seven. It was his first win since Sept. 21, 2022 at Tampa Bay.

The right-hander missed the past two seasons because of injuries, then was winless in his first five starts this year after being activated from the injured list on May 4.

Skenes (4-6) was nearly as dazzling in defeat, giving up one run and three hits in eight innings. He struck out eight and walked one as the Pirates lost for the third time in four games.

Skenes’ record is two games under .500 despite a 2.05 ERA.

Walker hit a first-pitch sweeper from Skenes into the left-field bleachers with one out in the seventh to break a scoreless tie. It was the first baseman’s eighth home run this season.

Paredes added a two-run shot in the ninth, his 12th, off Dennis Santana.

Reds 4, Brewers 2: TJ Friedl made a leaping catch in center field for the final out to rob pinch-hitter Jake Bauers of a tying home run, and Cincinnati rallied for a home victory that snapped Milwaukee’s eight-game winning streak.

Tyler Stephenson homered for Cincinnati, and pinch-hitter Gavin Lux drove in the go-ahead run with a sacrifice fly in the seventh inning. Will Benson also went deep as the Reds stopped a three-game skid.

Yankees 3, Guardians 2: Jazz Chisholm Jr. hit a tiebreaking home run in his return from a month on the injured list, Carlos Rodón won his seventh straight decision and New York edged Cleveland at Yankee Stadium.

Chisholm pulled a fastball into the first row of the right-center seats against Tanner Bibee (4-6) for a 2-1 lead in the seventh inning. Six pitches later, Anthony Volpe drove a sweeper into the left-field stands.

Rodón (8-3) allowed one run and five hits in seven innings with eight strikeouts and one walk.

Cubs 8, Nationals 3: Michael Busch hit his ninth homer of the season, drove in three runs and finished a double shy of the cycle to help the Chicago to a victory at Washington.

Nico Hoerner singled in two runs to complete a four-run fifth inning that put the Cubs up 7-3as they won their third straight.

Phillies 8, Blue Jays 3: Bryce Harper homered in his first at-bat following a five-game absence, Trea Turner went deep twice and Philadelphia scored six runs in the first inning on the way to a road win over Toronto that ended a four-game skid.

Left-hander Christopher Sánchez (5-1) allowed one run in six innings to win for the first time since May 7.

Blue Jays right-hander Bowden Francis (2-7) matched a career-worst by allowing seven runs, six earned, in 1 2/3 innings.

Diamondbacks 8, Braves 3: Ketel Marte and Corbin Carroll each homered twice and Arizona snapped a five-game road losing streak with a win over Atlanta.

Zac Gallen (4-7), who had struggled with an 8.02 ERA in his last four starts, surrendered just one earned run in seven innings. He gave up four hits, struck out four and retired the first 10 batters of the game.

Marte was 3 for 3 with three RBIs and two walks and Carroll was 3 for 4 with four RBIs and three runs scored. Carroll now has 18 home runs on the season.

Spencer Strider (0-4) surrendered three home runs while his ERA climbed to 5.68 for the season after giving up five runs on six hits in five innings.

White Sox 8, Tigers 1: Shane Smith pitched three-hit ball into the sixth inning, and host Chicago beat MLB-best Detroit to stop a four-game slide.

Michael A. Taylor homered and drove in four runs for the White Sox, who had had dropped seven of eight overall. Smith (2-3) struck out six in 5 1/3 scoreless innings for his first win since April 24.

Rockies 3, Marlins 2: Colorado ended a streak of 22 consecutive series losses dating to last year, beating host Miami as Hunter Goodman homered for the third time in two games.

The Rockies, a major league-worst 11-50, won consecutive games for just the second time this year after beating Atlanta on April 30 and San Francisco the next day.