Cubs 2, Marlins 1
CHICAGO — Willson Contreras hit a two-run homer in the eighth inning to lift Chicago past Miami.
The Cubs looked like they were on the way to their sixth straight loss before Contreras drove an 0-1 pitch from Dylan Floro (0-1) to left with one out in the eighth for his 16th homer.
Chicago’s Justin Steele went 4 2/3 innings, striking out a career-high 10, allowing four hits and walking. Rowan Wick (3-5) got the final four outs.
Orioles 1, Pirates 0
BALTIMORE — Dean Kremer pitched impressively into the seventh inning and Félix Bautista held on through a dicey ninth to lift Baltimore past Pittsburgh.
Ramón Urias singled home the game’s only run in the sixth after the Orioles squandered several chances earlier in the game.
Kremer (4-3) allowed four hits and struck out two in 6 1/3 innings.
Phillies 7, Nationals 2
PHILADELPHIA — Kyle Gibson retired his first 18 batters and pitched one-run ball over eight innings, Kyle Schwarber hit his NL-leading 34th homer and Philadelphia beat Washington.
Rhys Hoskins, J.T. Realmuto, Nick Castellanos and Darick Hall also homered for the Phillies, who have won eight of nine and moved 10 games over .500 for the first time since they were 37-27 on June 8, 2019.
Braves 9, Mets 6
NEW YORK — Ronald Acuña Jr. got four hits and robbed Pete Alonso of a two-run homer as Atlanta rebounded quickly in its NL East showdown with New York.
Eddie Rosario hit a three-run homer in the first inning and an RBI double in the second to help the Braves open an 8-0 cushion. Rookie center fielder Michael Harris II also went deep and threw out a runner at the plate as the Braves avoided their first three-game skid of the year.
Mets starter Taijuan Walker (9-3) managed only three outs in a rare but untimely flop. He was charged with eight runs and seven hits as his ERA rose from 2.79 to 3.45.
Astros 9, Guardians 3
CLEVELAND — Trey Mancini hit two home runs, including his first career grand slam, to lead the Houston Astros past the Cleveland Guardians 9-3 on Friday night.
Mancini, acquired from Baltimore on Monday, hit a solo homer in the second and capped the Astros’ five-run third against Hunter Gaddis (0-1) with a blast that cleared the 19-foot wall in left field. He has homered three times in four games with Houston.
Framber Valdez (10-4) allowed three runs and seven hits in 6 1/3 innings.
Rays 5, Tigers 3
DETROIT — Brandon Lowe hit a go-ahead, two-run double in the eighth inning and Tampa Bay walked a franchise-record 13 times while rallying to beat Detroit.
Three of the walks came in Tampa Bay’s three-run eighth. The Rays trailed 3-0 after two innings before coming back to win their third straight game.
The Tigers led 3-2 going into the eighth before Joe Jimenez (3-1) walked the first two batters and Lowe followed with a double. Isaac Paredes made it 5-3 with an RBI single.
White Sox 2, Rangers 1
ARLINGTON, Texas — Dylan Cease pitched six strong innings, Eloy Jimenez hit a tiebreaking homer and Chicago beat Texas.
Cease (12-4), the AL pitcher of the month for both June and July, gave up a run and two hits to lower his ERA to 1.98, second in the AL, and won his fifth straight start.
Jimenez homered in the fourth off Glenn Otto (4-8) to put Chicago ahead.
Liam Hendriks, the third White Sox reliever, pitched a perfect ninth for his 22nd save in 25 chances.
Red Sox 7, Royals 4
KANSAS CITY, Mo. — Xander Bogaerts had four hits, Alex Verdugo doubled twice and the Boston Red Sox beat the Kansas City Royals 7-4 Friday night.
Verdugo had three hits as Boston even the four-game series at a win apiece. Josh Winckowski (5-5) allowed one run on five hits over five innings for the Red Sox.
Zack Greinke (3-7) allowed four runs on seven hits in 4 2/3 innings for Kansas City.
Brewers 5, Reds 1
MILWAUKEE — Eric Lauer pitched seven strong innings, Rowdy Tellez and Tyrone Taylor homered, and Milwaukee beat Cincinnati.
Tellez hit a two-run shot in the first inning off Robert Dugger (0-1), and Taylor followed with a three-run blast in the third.
Lauer (8-3) worked out of trouble early, allowing only Kyle Farmer’s RBI single in the fifth.
Twins 6, Blue Jays 5 (10 innings)
MINNEAPOLIS — Nick Gordon hit a three-run homer and scored the game-ending run in the 10th inning for Minnesota after a pair of miscues by Toronto catcher Danny Jansen.
Gordon, who had three hits in the game, was the automatic runner to start the bottom of the 10th. Jordan Romano (3-3) struck out Jake Cave on a low slider that got past Jansen, who threw wildly to first, allowing Cave to reach and moving Gordon to third. Tim Beckham hit a grounder to third baseman Matt Chapman, who threw home to get Gordon trying to score.
Cardinals 4, Yankees 3
ST. LOUIS — Paul DeJong hit a two-run double with two outs in the eighth inning, lifting St. Louis past New York.
The Yankees’ Matt Carpenter drew a standing ovation in his first visit back to the city where he played 11 seasons, then had two hits. Aaron Judge and Josh Donaldson also had two hits each for the Yankees, and Donaldson drove in two while New York built a 3-2 lead.
DeJong, playing his sixth game since being recalled from Triple-A, doubled to right against All-Star Clay Holmes (5-3) to put the Cardinals ahead.
Diamondbacks 6, Rockies 5
PHOENIX — Geraldo Perdomo hit a two-out, two-run single in the eighth inning, then made a terrific diving snag on a grounder in the ninth to preserve Arizona’s win over Colorado.
Alex Colomé (2-5) took the loss, giving up the two eighth-inning runs. Chris Devenski (1-0) worked a a scoreless eighth. Ian Kennedy worked the ninth for his sixth save.
The Rockies led 5-2 behind six strong innings from German Marquez before the D-backs rallied against the Colorado bullpen.