ATLANTA -- Nick Castellanos hit two home runs and saved the game with a brilliant throw as the Philadelphia Phillies beat the Atlanta Braves in 10 innings, handing the NL East champions their fifth loss in six games.
The Braves rallied from a four-run deficit and had a chance to walk off with the win in the ninth after pinch-runner Luke Williams stole second and third.
Orlando Arcia hit a fly ball down the right-field line that appeared deep enough to bring home the tagging Williams. But Castellanos made the catch in foul territory, spun around and threw home in time for Garrett Stubbs to tag the runner on the right shoulder before his foot touched the plate.
Craig Kimbrel (8-6) claimed the win and Matt Strahm earned his second save.
In the 10th, Bryson Stott lined an opposite-field double down the third-base line that brought home two runs off A.J. Minter (3-6).
DIAMONDBACKS 7, GIANTS 1
PHOENIX -- Merrill Kelly threw 6 2/3 strong innings, Corbin Carroll hit his 25th homer and stole his 50th base of the season, and Arizona won its fifth straight game by beating San Francisco.
Kelly (12-7) gave up one run on three hits, walking two and striking out five.
Arizona's four-run seventh put the game out of reach. Carroll and Ketel Marte led off with back-to-back homers off reliever Ryan Walker, extending Arizona's lead to 5-1. Gabriel Moreno and Emmanuel Rivera added RBI singles.
San Francisco right-hander Logan Webb (10-13) gave up three runs on nine hits and two walks over six innings, striking out four. The Giants have lost five of their past six.
Carroll is the second player in MLB history with more than 25 homers and 50 stolen bases in a season in an age-22 season or younger, joining César Cedeño, who had 25 homers and 56 stolen bases in 1973.
TWINS 5, REDS 3
CINCINNATI -- Jorge Polanco's two-run single capped a three-run ninth inning, helping Minnesota overcome Hunter Greene's 14 strikeouts to beat Cincinnati.
With Minnesota trailing 3-2, Willi Castro singled leading off the ninth against Reds closer Alexis Díaz (9-5), then stole second and took third on catcher Luke Maile's throwing error. Kyle Farmer followed with a tying single.
Polanco hit a bases-loaded, two-out single off Sam Moll that scored Farmer and Christian Vázquez. Griffin Jax pitched the bottom of the inning for his third save.
Greene allowed one run -- Castro's second home run in two days in the seventh -- and three hits with one walk over seven innings.
Jhoan Duran (3-6) allowed a walk with two strikeouts to get the win.
NATIONALS 13, WHITE SOX 3
WASHINGTON -- Lane Thomas hit a grand slam for Washington in a rout of Chicago.
Joey Meneses and Dominic Smith also homered for Washington, which had a season high in runs and won back-to-back games for the first time since taking three in a row from Aug. 24-26.
Gavin Sheets drove in two runs for Chicago, which has dropped nine of its last 12 games and 14 of 19.
Thomas broke the game open after Jesse Scholtens allowed Luis García's single, hit Jake Alu and walked CJ Abrams to load the bases in the third inning. Thomas hammered a curveball to left for his 26th home run and second career grand slam to put Washington up 8-1.
Thomas also walked twice and was hit by a pitch.
Josiah Gray (8-12) gave up a run on five hits in five innings and struck out four for his first victory since July 22. Reliever Tanner Banks (0-4) took the loss.
ROYALS 6, GUARDIANS 2
KANSAS CITY, Mo. -- Nelson Velázquez hit a three-run homer, Angel Zerpa shut down Cleveland in relief of Zack Greinke, and Kansas City rolled to the victory and a three-game sweep.
Zerpa (3-3) got the final out of the fourth inning and allowed three hits the rest of the way. He struck out four without a walk.
Bobby Witt Jr. and Edward Olivares also drove in runs to send the Royals on their final road trip having won six of their past seven games.
Lucas Giolito (8-14) allowed four runs, three of them earned, on seven hits and three walks in 5 1/3 innings.
PADRES 3, ROCKIES 2
SAN DIEGO -- Luis Campusano tied the game with a bases-loaded single with one out in the seventh and Ji Man Choi followed with a sacrifice fly for his first RBI with San Diego, who beat Colorado to extend their season-best winning streak to seven.
Josh Hader pitched the ninth for his 31st save, retiring Brendan Rodgers with a runner on third. Luis Garcia (2-3) got the win and Rockies starter Chase Anderson (0-6) took the loss.
A day after breaking up San Diego's combined no-hitter leading off the ninth, Rodgers homered to left-center with one out in the first off Seth Lugo.
The Rockies made it 2-0 when Sean Bouchard singled in rookie Nolan Jones with two outs.
Xander Bogaerts, who had three hits, hit a leadoff single off Anderson and scored on Soto's groundout.
MARINERS 6, ATHLETICS 3
OAKLAND, Calif. -- Dominic Canzone homered and drove in four runs as Seattle beat Oakland to complete a three-game sweep and maintain their position in the tight AL West race.
Julio Rodríguez and Cal Raleigh added back-to-back homers to give Seattle 200 home runs in a season for the seventh time in franchise history. Raleigh also doubled, giving him 52 extra-base hits, the most by a Mariners catcher in a season.
Seattle remained tied with Texas for the third AL wild-card berth and one-half game behind Houston in the AL West. The Rangers and Astros both won.
Rodríguez reached 100 RBIs, becoming the third player age 22 or younger with at least 30 homers, 30 stolen bases and 100 RBIs in a season, joining Alex Rodriguez (1998) and Ronald Acuña Jr. (2019).
George Kirby (11-10) scattered eight hits across seven innings, allowing three runs and striking out three. Justin Topa pitched a scoreless ninth for his third save.
In his major league debut, Joey Estes (0-1) allowed six runs, five earned, on six hits with two strikeouts in 4 2/3 innings.