AMERICAN LEAGUE: Red Sox 6, Blue Jays 4

Mookie Betts fouled off seven pitches before hitting a grand slam that helped host Boston beat Toronto on Thursday night, extending its winning streak to 10 games.

Betts added an RBI single in the seventh inning and went 2-for-4, increasing the top batting average in the majors to .352. He finished with five RBI.

Boston has the longest winning streak in the big leagues and hasn’t lost since getting routed by the Yankees 11-1 on July 1 in New York. At 66-29, the Red Sox are 37 games over .500 for the first time since 1949.

David Price (10-6) struck out eight over 6⅔ innings for Boston, and Craig Kimbrel earned his 29th save.

Teoscar Hernandez hit a two-run homer in the first and Kendrys Morales had a solo homer for Toronto, which has lost four of five.

Athletics 6, Astros 4

Mark Canha’s two-RBI single in Oakland’s three-run eighth inning lifted Oakland over host Houston.

The Athletics fell behind early but cut the lead to one with a three-run fifth. An RBI double by Matt Chapman tied it with no outs in eighth before Canha’s single off Chris Devenksi (2-2) with one out made it 6-4.

Canha’s hit landed in the corner of left field and the Astros challenged the ruling that the ball was fair, but it was upheld.

Nick Martini had three hits and drove in two runs for the Athletics, who are 19-5 in their last 24 games.

Yusmeiro Petit (3-2) allowed one hit in 2⅓ scoreless innings. Ryan Buchter took over for the eighth and pitched a perfect inning. Lou Trivino struck out two in the ninth for his fourth save in five opportunities.

Oakland starter Trevor Cahill went 3⅔ innings in his first start since June 2 after spending a month on the disabled list with an Achilles injury. He allowed three runs on three hits and walked three.

Charlie Morton allowed six hits and three runs in 4⅓ innings for Houston.

NATIONAL LEAGUE: Pirates 6, Brewers 3

Jameson Taillon had a career-high 10 strikeouts, Jordy Mercer tied his career high with four RBI and host Pittsburgh beat Milwaukee.

Taillon (6-7) surrendered one run on four hits with two walks. The right-hander struck out the side twice, once in the third inning and again in the fifth, when he got out of a jam after allowing a leadoff walk to Tyler Saladino followed by a single from Erik Kratz.

Mercer was 3-for-4 with three singles, one of which knocked in two runs.

The Pirates have won four of their past five games to pull to 10½ games back of the first-place Brewers, who have lost four of six, in the NL Central.

Felipe Vazquez earned his 21st save by getting the final two outs.

Nationals 5, Mets 4

Max Scherzer made a final pitch to start the All-Star Game on his own mound, Anthony Rendon hit two homers and Bryce Harper also connected, leading Washington over host New York.

The Nationals won for just the sixth time in 17 games and nudged back over .500 at 47-46.

Scherzer (12-5) didn’t dominate over his seven innings, but managed to tie Philadelphia’s Aaron Nola for the NL lead in wins. He struck out five, boosting his league-leading total to 182.

He gave up three runs and five hits, including home runs by Jose Bautista and Kevin Plawecki. The right-hander was met on the top step of the dugout by manager Dave Martinez after the seventh and, after a short discussion, he was done.

The three-time Cy Young Award winner exited with a 2.41 ERA, and perfectly lined up to pitch on regular rest next Tuesday night in the All-Star Game at Nationals Park.

Rockies 5, Diamondbacks 1

Gerardo Parra and Raimel Tapia had pinch-hit RBI singles in a three-run sixth inning as host Colorado beat Arizona.

Trevor Story homered for the Rockies, and Kyle Freeland pitched six-hit ball into the sixth inning. DJ LeMahieu had two hits and drove in a run.

Arizona left-hander Robbie Ray (3-2) hit Carlos Gonzalez and walked Chris Iannetta with one out before he was replaced by Silvino Bracho. Parra then hit a tying single to right, and Tapia followed with another single off Andrew Chafin. LeMahieu drove in Parra with a sacrifice fly.

The Rockies added two more in the seventh on Story’s 18th homer off of Randall Delgado and Gonzalez’s RBI single.

Scott Oberg (3-0) got two outs for the win.

INTERLEAGUE: Phillies 5, Orioles 4

Jorge Alfaro homered and drove in three runs, Nick Pivetta took a three-hitter into the seventh inning and Philadelphia beat host Baltimore.

The Phillies got 12 hits off Kevin Gausman (4-7) while building a 5-0 lead.

Alfaro, the No. 9 hitter, singled and scored in the third inning, hit a two-run double in the fourth and led off the fifth with his sixth home run.

Homers by Trey Mancini and Jace Peterson brought the Orioles close, but the Phillies held on to move a half-game ahead of second-place Atlanta in the NL East.

Pivetta (6-7) had a no-hitter through four innings and finished with seven strikeouts. He gave up three runs and five hits before being pulled with two outs in the seventh.