Trevor Story and Nolan Arenado homered, David Dahl had three hits and two RBIs, and the Colorado Rockies beat the Arizona Diamondbacks 10-3 on Thursday in Denver.
Kyle Freeland (15-7) allowed three runs in 6 1/3 innings to help the Rockies extend their National League West lead to 4 1/2 games over third-place Arizona. Colorado, which took three of four in the series, leads the second-place Los Angeles Dodgers by 1 1/2 games.
Arizona starter Clay Buchholz was scratched just before first pitch with what the team said was tightness in his right elbow. Matt Koch (5-5) started in his place but was roughed up for four runs on eight hits in three innings.
Red Sox 4, Blue Jays 3
Boston took advantage of a dropped pop fly in the bottom of the eighth inning to defeat visiting Toronto and complete a three-game sweep.
Xander Bogaerts doubled against Danny Barnes (3-3) with one out in the eighth. Bogaerts then stole third to force the infield in. Blake Swihart hit a pop fly that second baseman Yangervis Solarte dropped for an error that allowed Bogaerts to score the go-ahead run.
J.D. Martinez and Rafael Devers hit solo home runs for the Red Sox, who won the season series 15-4 against the Blue Jays.
Cubs 4, Nationals 3 (10 innings)
Javier Baez had three hits and three RBIs, and his bunt single in the 10th inning drove in the go-ahead run as Chicago won a makeup game at Washington.
Kris Bryant doubled to left-center field with one out in the 10th inning off Sean Doolittle (3-3). Daniel Murphy reached on an infield single to put runners on the corners before Baez pushed a bunt past the mound toward second base that could not be fielded cleanly, driving in Bryant.
Baez wound up a triple short of the cycle and scored twice. Bryant had three hits and scored twice, and Anthony Rizzo had two hits for the Cubs, who had lost four of five.
Dodgers 9, Cardinals 7
Manny Machado had a home run among his three hits, and David Freese had a two-run triple against his former team as Los Angeles won at St. Louis.
The Cardinals, who trailed 8-1 after four innings, scored two runs in the ninth inning and had the tying run at the plate twice, but Dodgers closer Kenley Jansen, who entered in a non-save situation, finished off the game by getting Matt Adams to ground out.
Clayton Kershaw (8-5) gave up four runs, three earned, over six innings for the Dodgers.
Royals 6, Twins 4
Salvador Perez and Jorge Bonifacio hit back-to-back homers to highlight a four-run sixth inning as Kansas City rallied for a victory over visiting Minnesota.
Perez also doubled, and Rosell Herrera had two hits and scored a run for Kansas City. Alex Gordon reached base three times, walking twice and also getting hit by a pitch, and also drove in a run for the Royals.
Heath Fillmyer (3-1) gave up four runs on five hits over 7 1/3 innings, walking one and striking out six, to pick up the victory. Wily Peralta pitched a hitless ninth to earn his 11th save.
Orioles 5, A's 3
Tim Beckham drove in two runs, and Dylan Bundy tossed six solid innings as host Baltimore defeated Oakland.
The Orioles ended a six-game losing streak. Oakland saw its six-game winning streak stopped, and the A's fell 1 1/2 games behind the New York Yankees in the race for the top American League wild card.
Bundy (8-14) ended a personal five-game losing streak over seven starts. The right-hander allowed two runs on six hits and no walks while striking out eight, posting his first victory since July 29.
Mets 4, Marlins 3 (Game 1)
Michael Conforto and Todd Frazier hit back-to-back home runs with two outs in the ninth inning as host New York came back to stun Miami in the opener of a doubleheader.
The Mets were one out away from losing when Conforto homered into the second deck in right field off Kyle Barraclough (0-6). Frazier then went deep on a 1-1 pitch well into the left field seats for his third career walk-off blast.
The rally made a winner out of Jerry Blevins (3-2), who tossed a perfect top of the ninth.
Mets 5, Marlins 2 (Game 2)
Jason Vargas (6-9) combined with two relievers on a four-hitter, and Conforto laced the go-ahead, two-run double in the fifth inning as New York finished a doubleheader sweep.
New York beat Miami three times in a span of 24 hours to conclude a rain-soaked series. The scheduled opener was rained out Monday, and the teams could only play one game of a scheduled doubleheader Wednesday, when the first pitch was thrown at 9:45 p.m. EDT.
The two victories Thursday capped an emotional day in which Mets captain David Wright, who hasn't played since May 27, 2016, due to various neck, back and shoulder surgeries, announced he would return for the final homestand of the season.
Mariners 8, Angels 2
Mike Leake allowed one run in seven innings, and Nelson Cruz hit a three-run home run to lead Seattle to a win over Los Angeles in Anaheim, Calif.
Leake (10-9) gave up four hits and one walk while striking out five. Only two Angels were able to get into scoring position while Leake was in the game -- Mike Trout doubled in the first inning, and Justin Upton homered in the seventh.
The Mariners had 12 hits in the game, including two each from Cruz, Mitch Haniger, Kyle Seager and Robinson Cano, but no hit was bigger than Cruz's three-run homer in the fourth inning that made the lead 6-0.