Chris Sale struck out 10 over six sharp innings, J.D. Martinez homered in a third straight game and the surging Boston Red Sox beat the Baltimore Orioles 7-2 on Saturday.

Sale (3-7) gave up two runs, six hits and a walk. Both runs came in the sixth, after the left-hander extended his streak of innings without allowing an earned run to 22.

Sale ended his outing by blowing a third strike past Keon Broxton with runners on the corners and Boston nursing a 3-2 lead.

Martinez hit his 16th home run, the fourth in three games, to provide the Red Sox with a two-run cushion in the seventh.

The defending World Series champions (38-34) have won four straight and can move five games over .500 for the first time by completing a three-game sweep Sunday.

Baltimore got an RBI double from Renato Núñez and sacrifice fly from Jonathan Villar. The Orioles have gone winless in 15 straight series (0-14-1) since taking two of three from the White Sox on April 22-24.

ANGELS 5, RAYS 2

Charlie Morton lost for the first time in 22 starts and Los Angeles hit three homers in a win over Tampa Bay.

Morton (8-1) struck out nine in six innings, giving up four runs on five hits in his first loss since Aug. 11.

David Fletcher, Justin Bour and Kevan Smith homered for the Angels, who won for the fourth time in five games.

Hansel Robles picked up his 10th save in 12 opportunities.

Yandy Diaz hit a three-run homer, his 11th, for the Rays.

Jose Suarez (2-1) gave up three runs on five hits in 5 2/3 innings.

ASTROS 7, BLUE JAYS 2

Yordan Alvarez homered and Jack Mayfield hit three doubles as Houston's rookies led the way in a win over Toronto.

Alvarez became the fourth player in major league history to hit four home runs in his first five games. He sent a solo drive into the upper deck in right field and finished with three hits.

Josh Reddick also homered for the AL West-leading Astros.

Framber Valdez (3-2), another rookie, struck out eight in six innings, allowing two runs and four hits.

Clayton Richard (0-3) yielded five runs and seven hits in five innings.

GIANTS 8, BREWERS 7

Catcher Steven Vogt hit two triples and left fielder Mike Yastrzemski made a nifty catch for the final out to help San Francisco beat Milwaukee.

The Giants rallied from a 5-1 deficit for their fourth straight win.

Christian Yelich hit his major league-leading 26th homer for the Brewers, who have lost three of four. Yelich extended his hitting streak to 12 games and Manny Piña also homered for the Brewers.

Giants reliever Trevor Gott (3-0) pitched an inning and got the win. Will Smith picked up his 18th save in 18 tries. Starter Madison Bumgarner gave up three earned in six innings.

Vogt became the first Giants catcher to triple twice in a game since Steve Nicosia did it in July 18, 1984. Vogt hadn't hit a triple since May 4, 2017.

DIAMONDBACKS 10, NATIONALS 3

Ketel Marte hit two of Arizona's four solo homers off Stephen Strasburg in a victory over Washington.

Strasburg (7-4) allowed four homers in a game for the second time in his career, the first since August 8, 2014, at Atlanta. Strasburg gave up a season-high nine hits and tied a season-high by allowing six earned runs.

Adam Jones and Christian Walker also homered off Strasburg. Kevin Cron hit a pinch-hit homer.

The Nationals scored all their runs un the bottom half of the first. Trea Turner scored on Adam Eaton's sacrifice fly before Juan Soto and Matt Adams hit solo homers.

Yoshihisa Hirano (3-3) allowed two hits while striking out two in 1 2/3 innings.

More AP MLB: https://apnews.com/MLB and https://twitter.com/AP_Sports