Chris Sale struck out nine in six scoreless innings to win his fifth consecutive start, Jackie Bradley Jr. hit a three-run homer, and the Red Sox beat the Tigers in Detroit for their 19th win in 23 games.
Sale allowed two hits, lowered his ERA to an A.L.-best 2.13 and won his sixth straight decision.
Blaine Hardy (3-3) gave up four runs and five hits in three-plus innings.
Mariners 8, White Sox 2: Ryon Healy hit a pair of three-run homers for a career-best six RBIs and the Mariners defeated Chicago in Seattle.
Healy homered in a five-run first off Reynaldo Lopez (4-8) and in the eighth against Hector Santiago, giving him 20 homers and 53 RBIs this season.
Marco Gonzales (11-5) won his fourth consecutive start, allowing two runs and four hits in 6 1/3 innings. He did not give up a hit or a walk in the first five innings.
Dodgers 11, Brewers 2: Manny Machado had a double to drive in his first run since he was acquired from Baltimore, Matt Kemp hit a pair of solo homers off Brent Suter and Chris Taylor had three RBIs as the NL West leaders Dodgers defeated the Brewers in Milwaukee.
Alex Wood won his fifth straight decision, allowing two runs, five hits and three walks in six innings. Milwaukee has lost eight of nine, dropping 3 1/2 games behind the N.L. Central-leading Cubs.
Cubs 7, Cardinals 2: Matt Carpenter’s streak of consecutive games with home runs ended at six as Jose Quintana allowed two runs and six hits in seven innings and the visiting Cubs defeated the Cardinals. Kyle Schwarber hit a tiebreaking solo homer off Mike Mayers with two outs in the sixth. St. Louis has lost seven of 11.
Athletics 6, Giants 5 (10): Jeurys Familia got the win in his Oakland debut against the visiting Giants when Marcus Semien scored from second base on Matt Chapman’s infield chopper in the 10th inning. A day after he was acquired from the Mets, Familia allowed one hit in two scoreless innings. Khris Davis and Matt Olson each homered twice.
Angels 14, Astros 5: Mike Trout drove in a teammate for the first time in more than a month, homering to cap a seven-run burst in seventh inning as the Angels crushed the Astros in Anaheim, California. Trout hit his 26th home run, a drive off Chris Devenski that followed Andrelton Simmons’ single. Trout’s only RBIs since June 19 had been a pair of solo homers.
Andrew Heaney (6-6) won his fourth consecutive home start, allowing one run, four hits and two walks in six innings.
Lance McCullers Jr. (10-5) gave up five runs, six hits and five walks in 4 1/3 innings.
Blue Jays 5, Orioles 4: Yangervis Solarte hit a go-ahead, two-run homer in the eighth inning off Tanner Scott, and Toronto rallied from a 4-1 deficit to complete a three-game sweep at home.
The Blue Jays are 9-1 against the Orioles this season, including seven straight wins. Baltimore has lost 20 of its last 25 games and is a big league-worst 28-72. The Orioles were swept in a three-game series for the eighth time this season and have been swept in three four-game series, including at Toronto in early June.
John Axford (4-1) won despite allowing two runs in the eighth. Tyler Clippard finished for his seventh save.
Padres 10-0, Phillies 2-5: Vince Velasquez allowed two hits over seven innings, struck out seven and walked one to gain the split in Philadelphia and the Phillies widened their N.L. East lead to one game over second-place Atlanta.
Odubel Herrera hit a solo homer in the fourth against Luis Perdomo (1-5). After a pair of batters reached against Perdomo in the seventh, Carlos Santana hit a bloop run-scoring single against Phil Maton and Rhys Hoskins added his second homer of the day and 16th this season, a three-run drive.
Freddy Galvis was 6 for 11 with four RBIs in the series. He spent six seasons with the Phillies before he was dealt to San Diego in December for right-hander Enyel De Los Santos.
Tyson Ross (6-8) allowed two runs and five hits in five innings in the opener. He had been 0-5 in seven starts since beating Cincinnati on June 3, losing his previous three outings.
Nick Pivetta (6-8) gave up six runs – four earned – and eight hits in 5 1/3 innings.
Pirates 9, Reds 2: Corey Dickerson homered for the fourth time in three days, and visiting Pittsburgh extended a winning streak to nine for the first time since June 2013.
Dickerson and Starling Marte hit consecutive homers in a four-run second off Matt Harvey, who allowed eight runs and eight hits in 3 2/3 innings. Dickerson went 4 for 5 and finished the series with 21 total bases, helping the Pirates outscore the Reds by a combined 27-5. Last-place Cincinnati has lost four in a row.
Ivan Nova (6-6) allowed two runs and five hits in 6 2/3 innings, improving to 4-1 in his last eight starts. He also singled to stop his hitless slide at 63 at-bats.
Nationals 6, Braves 2: Bryce Harper homered and Max Scherzer won his third straight start, striking out seven in six innings while allowing two runs and eight hits in the home victory.
Kelvin Herrera got five outs for his first save with Washington, and Anthony Rendon had two hits and drove in two runs.
The start of the game was delayed 1 hour, 55 minutes by rain, and another downpour stopped play for almost 100 minutes between the sixth and seventh innings.
Mike Foltynewicz (7-6) gave up four runs and nine hits over 5 2/3 innings.
Rays 6, Marlins 4: Pinch-hitter Daniel Robertson connected for a game-ending grand slam off Kyle Barraclough as the Rays defeated the Marlins in St. Petersburg, Florida.
Tampa Bay right-hander Chris Archer struck out 13 in six innings. But he allowed four runs, three earned, and eight hits in front of scouts from several playoff contenders.
Adam Kolarek (1-0) allowed one hit in two scoreless innings.
Royals 5, Twins 3: Slow-footed catcher Drew Butera broke a 2-2 tie in Kansas City with a three-run, inside-the-park home run off Zach Duke when center fielder Jake Cave failed in his attempt to make a diving catch in the seventh inning. Kansas City swept a series for the first time since last July 24-26 at Detroit.
Brad Keller (3-4) struck out a career-high eight in seven-plus innings, allowing three runs and three hits. Wily Peralta got three outs for his fourth save.
Rangers 5, Indians 0: Rougned Odor drove in three runs, Ryan Rua hit a two-run homer and Texas withstood the heat on a 108-degree afternoon in Arlington, Texas, to stop a four-game losing streak.
Yovani Gallardo and three relievers combined on a five-hitter against the A.L. Central leaders. Mike Clevinger lost his third straight start, allowing two runs, four hits and four walks in 6 2/3 innings.
Diamondbacks 6, Rockies 1: Zack Greinke allowed two hits and struck out a season-high 13 in eight innings in Phoenix to stop Colorado’s seven-game winning streak and move ahead of the Rockies back into second in the N.L. West, 1 1/2 games behind the Dodgers.
Nick Ahmed drove in three runs with a two-run triple and bases-loaded walk. Antonio Senzatela, activated from the disabled list after recovering from a finger blister, gave up four runs and five hits in 5 1/3 innings.
Subscribe to the sports newsletter
Get the day’s top sports headlines and breaking news delivered to your inbox by subscribing here.