MILWAUKEE (AP) — Milwaukee scored four runs in the bottom of the seventh inning to rally for a 9-3 win over the Los Angeles Dodgers in Friday's clash of divisional leaders, with the Brewers closing within 1-1/2 games of the overall lead in the National League.

The Dodgers did stay 3-1/2 games clear in the NL West as nearest rival San Francisco lost at in-form Kansas City.

Other key games saw Baltimore hit six home runs to rout St. Louis and maintain a healthy five-game buffer atop the American League East, while AL Central leader Detroit came from behind in the ninth inning to edge Toronto and drop the Blue Jays to third in the AL East.

The Dodgers went ahead 3-2 in the top of the seventh before Milwaukee's surge.

Martin Maldonado's squeeze bunt scored Rickie Weeks. Khris Davis reached on a fielding error by reserve shortstop Justin Turner to load the bases. Carlos Gomez then reached on Turner's throwing error that allowed Mark Reynolds to score. Gerardo Parra followed with a two-run single that gave Milwaukee a 6-3 lead.

Weeks added a three-run homer in the eighth to cap the victory.

Baltimore's J.J. Hardy hit two of the Orioles' season-high six homers in a resounding 12-2 win over St. Louis.

Hardy hit a solo shot and a three-run drive for his 11th career multihomer game. Manny Machado, Adam Jones, Chris Davis and Ryan Flaherty also cleared the fences as Baltimore moved to 66-49; a season-best 17 games over .500.

It was the Orioles' first win over the Cardinals in 11 years in their rare interleague match-up.

Detroit's Nick Castellanos tied the game with a two-run homer in the ninth inning, and Eugenio Suarez followed with a go-ahead shot to lift the Tigers to a 5-4 win over Toronto.

The Tigers trailed 4-2 entering the ninth against closer Casey Janssen. J.D. Martinez started the inning with a double. After an out, Castellanos homered on the first pitch. Two pitches later, Suarez gave the Tigers their first lead with a drive to center.

Janssen (3-1) was replaced by Aaron Loup after a two-out double by Ian Kinsler. The blown save was Janssen's third in 21 chances.

Kansas City's Billy Butler homered and drove in three runs as the Royals beat San Francisco 4-2 for their fifth-straight win.

Butler, who is hitting .423 in the past seven games, homered in the first off Madison Bumgarner (13-9), who pitched the complete game.

The Giants outhit the Royals 12-7, but self-destructed with three errors and base-running blunders, while Kansas City right fielder Nori Aoki threw out two San Francisco runners in the same inning.

Oakland clung on for a 6-5 win over Minnesota to beat the Twins for the 11th straight time.

Coco Crisp hit a bases-loaded triple for the A's.

Athletics' starter Scott Kazmir (13-4) did not allow a runner on base through the first four innings, but later ran into difficulty and was bailed out by an Oakland bullpen which has gone a club-record 28-2/3 innings without conceding a run.

Atlanta ended a run of eight-straight defeats by beating Washington 7-6, moving back within 3-1/2 games of the NL East-leading Nationals.

Justin Upton and Freddie Freeman hit two of Atlanta's four homers that propelled the hosts to a 7-0 lead but almost blew that advantage.

Washington starter Stephen Strasburg (8-10) gave up all four of the homers — two more than his previous career worst. He allowed seven runs in five innings, dropping to 1-3 with a 6.99 ERA in seven starts at Turner Field.

The New York Yankees made it six wins in seven games by beating Cleveland 10-6, with Carlos Beltran hitting a grand slam.

Derek Jeter tied Honus Wagner with his 3,430th career hit in a five-run first inning, and Beltran's 11th career slam highlighted a five-run sixth.

New York's fill-in Esmil Rogers (2-0) became the 12th Yankees pitcher to start a game this year. He was picked up at the start of the month after being cut by Toronto. He allowed one run in five innings.

Boston's Mike Napoli homered and Yoenis Cespedes hit a two-run double, leading the Red Sox over the Los Angeles Angels 4-2.

Napoli's homer came off Jered Weaver (12-7), who he used to catch for. Weaver lost for the first time since June 16, allowing four runs through six innings after going 5-0 in his previous nine starts.

The Angels' fourth straight loss matched their longest skid of the season and dropped them four games behind AL West-leading Oakland.

Seattle's Mike Zunino hit a three-run homer to power the Mariners to a 4-1 win over the Chicago White Sox and their fourth-straight victory.

Miami's Nathan Eovaldi pitched eight scoreless innings to guide the Marlins to a 2-1 win over Cincinnati.

Pittsburgh's Gregory Polanco and Josh Harrison had three hits each to help the Pirates edge San Diego 2-1.

New York's Bartolo Colon pitched eight innings for his 200th career victory as the Mets hung on to edge Philadelphia 5-4.

Tampa Bay's Kevin Kiermaier, who entered the game in the eighth inning, drove in the winning run with a single in the 10th to give the Rays a 4-3 victory over the Chicago Cubs.

Arizona's David Peralta had two extra-base hits and stole home while Miguel Montero hit a three-run homer to lead the Diamondbacks to a 5-3 win over Colorado.

Houston's Robbie Grossman hit a two-run homer to put the Astros ahead in the eighth inning and they held on beat state rival Texas.