BOSTON - Justin Smoak hit a pair of homers and Steve Pearce drove in two runs when Boston second baseman Brock Holt lost his popup in the sun, giving Toronto a four-game split with an 8-6 win.

Including the 15-inning game on Tuesday with the Blue Jays, the AL East-leading Red Sox played 76 innings in about 144 hours - the equivalent of 8 1/2 games in six days.

Dominic Leone (2-0) earned the win. Francisco Liriano got just five outs but Toronto came back with four runs in the third to take a 5-3 lead against Doug Fister (0-4).

Roberto Osuna pitched the ninth for his 24th save.

PIRATES 4, BREWERS 2

PITTSBURGH - Gregory Polanco homered, Chris Stewart added three hits and the Pittsburgh Pirates completed a four-game sweep of the NL Central-leading Milwaukee Brewers with a 4-2 victory on Thursday.

The Pirates have won 11 of 13 and moved within three games of Milwaukee in a division that's tightened up since the All-Star break. The Brewers have lost five straight, cutting their lead to one game over the idle Chicago Cubs.

Polanco hit a solo shot off Jimmy Nelson (8-5) in the fourth inning, his ninth homer. Stewart scored the go-ahead run in the fifth on a single by Josh Harrison.

Jameson Taillon (6-3) struck out a season-high eight in 5 1/3 innings. Felipe Rivero worked a perfect ninth for his ninth save.

DIAMONDBACKS 12, REDS 2

CINCINNATI - Jake Lamb hit a pair of three-run homers and Patrick Corbin pitched into the eighth inning during an emergency start, sending Arizona over Cincinnati.

Arizona stabilized itself by taking two of three in the series. The Diamondbacks had dropped eight of nine heading into the set, falling behind Colorado for the second NL wild-card spot.

Lamb homered in the first inning off Luis Castillo (1-3) and again in the ninth for a career-high six RBIs.

Scheduled starter Taijuan Walker was scratched after his wife, Heather, went into labour Thursday morning. Corbin (7-9) was moved up a day and wound up with his first victory since June 16.

Arizona newcomer J.D. Martinez didn't play, a day after a pitch bruised his hand.

METS 3, CARDINALS 2

NEW YORK - Cardinals pitcher Trevor Rosenthal was late covering first base on a two-out grounder by Jose Reyes that turned into a game-winning single in the ninth inning for the New York Mets.

A leadoff walk and T.J. Rivera's single put runners on the corners with two outs. Reyes then hit a grounder up the first base line, and Matt Carpenter fielded it cleanly well behind the bag. Rosenthal (2-4) was slow to leave the mound, and the speedy Reyes easily beat him to the base with a headfirst dive.

Addison Reed (1-2) pitched a perfect ninth.

ORIOLES 9, RANGERS 7

BALTIMORE - Jonathan Schoop and Adam Jones both homered and drove in three runs, and Baltimore rallied to beat Cole Hamels and Texas to complete a four-game sweep.

Mark Trumbo and Chris Davis also went deep for the Orioles, who trailed 5-1 in the fifth inning before coming back to hand Hamels (4-1) his first loss in 10 starts this season.

Baltimore hit 10 home runs in the series and outscored Texas 34-11. The Orioles' four-game winning streak is their longest since a six-game run in early May.

Miguel Castro (2-1) worked the sixth for Baltimore after starter Wade Miley allowed five runs over five innings.

Mike Napoli homered for the Rangers, whose five-game skid matches their season high.

Adrian Beltre had two hits for Texas and has 2,985 in his career, tied with Sam Rice for 31st place.

Hamels brought a 21-inning scoreless streak into the game and extended it to 24 before Schoop homered in the fourth.

ROYALS 16, TIGERS 4

KANSAS CITY, Mo. - Brandon Moss drove in four runs, Mike Moustakas had three RBIs and Kansas City routed error-prone Detroit.

Eric Hosmer and Whit Merrifield homered for the Royals, who moved within 1 1/2 games of first-place Cleveland in the AL Central. The 16 runs and 19 hits were season highs for Kansas City.

Detroit committed three errors in the Royals' four-run first inning, when only one run was earned. It was the most errors the Tigers have made in an inning since May 1, 2010.

Michael Fulmer, the 2016 AL Rookie of the Year, threw 37 pitches in the first. The heat index was 107 when the game started.

Fulmer (10-7), who had won his previous four starts, was removed after facing 18 batters. He retired only eight, and eight scored. It was the shortest outing of his career.

Danny Duffy (6-6) was staked to an 8-0 lead, but struggled to make it into the sixth.