Boston

Mike Leake pitched eight shutout innings, Mitch Haniger drove in three runs and the Seattle Mariners snapped a season-high five-game losing streak with a 7-2 victory over the Boston Red Sox on Saturday night.

Nelson Cruz had three hits and scored twice a night after hitting two homers and driving in seven runs for Seattle, which went on its skid after beating Boston two straight at home last weekend.

Leake (8-4) gave up three singles, struck out five and walked two six days after he allowed five runs and took the loss against the Red Sox at Safeco Field. Edwin Diaz gave up two runs in the ninth.

Athletics 7, White Sox 6: Pinch-hitter Nick Martini drove in the tiebreaking run in the eighth inning with his first major league hit and Oakland came back from an early five-run deficit to edge Chicago.

Rangers 9, Twins 6: Adrian Beltre and Robinson Chirinos homered to help Yovani Gallardo win for the first time since last July. Delino DeShields had two hits and drove in two runs for the Rangers, who have won a season-high seven in a row.

Marlins 6, Rockies 2: J.T. Realmuto hit a grand slam during a five-run seventh inning for Miami. The Marlins stopped a three-game skid and ended the Rockies' winning streak at four. Trevor Richards (2-4) gave up one run and three hits in six innings, striking out eight. He also singled for his first hit in the majors.

Diamondbacks 7, Pirates 2: Zack Greinke pitched six scoreless innings, staying in through two rain delays, and Arizona beat Pittsburgh for its third consecutive win. Paul Goldschmidt homered for NL West-leading Arizona, and David Peralta drove in two runs.

Giants 5, Padres 3: Slumping Brandon Crawford doubled twice, tripled and drove in three runs to lead San Francisco.

Phillies 5, Nationals 3: Maikel Franco went 4-for-4 and Carlos Santana homered for Philadelphia. With the Phillies leading 3-2 in the eighth, Santana sent a drive into the Philadelphia bullpen in left-center field off Kelvin Herrera for his 13th homer of the season and second in two games. Franco later added an RBI single.

Orioles 7, Braves 5: Mark Trumbo hit a first-inning grand slam and Chris Davis doubled in three runs for Baltimore. Dylan Bundy (6-7) allowed two runs and seven hits in 61/3 innings while improving to 3-0 in June.

Reds 11, Cubs 2: Anthony DeSclafani hit the first grand slam by a Cincinnati pitcher in 59 years, helping the last-place Reds beat Chicago for their sixth consecutive victory. It was Cincinnati's third slam in five days and major league-leading seventh of the season, two short of the record set in 2002. The last Reds pitcher to hit a grand slam was Bob Purkey against the Cubs on Aug. 1, 1959.

Cardinals 3, Brewers 2: Yadier Molina homered twice to back a strong start by Miles Mikoas and lift St. Louis to a victory. Molina's two-run homer in the sixth inning off reliever Jeremy Jeffress gave St. Louis the lead and the Cardinals held on behind the pitching of Mikolas and four relievers.

Indians 4, Tigers 1: Trevor Bauer struck out 11 over 61/3 innings to beat Detroit for the fourth time this season and lead Cleveland to its sixth straight win overall. Bauer (7-5) allowed a run in the second inning on a wild pitch and was pulled after Dixon Machado's one-out single in the seventh. The right-hander recorded his seventh double-figure strikeout game of the season, including five of his past six starts.

Astros 4, Royals 3 (12): Carlos Correa hit a walk-off RBI single to score George Springer with the winning run in the 12th. Kansas City took a 3-2 lead into the bottom of the ninth, but Houston tied it with a sacrifice fly by Evan Gattis, scoring Jake Marisnick. Hunter Dozier had given the Royals a 3-0 lead with a three-run homer in the fourth.

Notes: Indians left-hander Andrew Miller won't throw off a mound for 10 days and the team says there's no timetable for when its ace reliever will return while he continues to deal with a sore right knee. ... The Blue Jays have put pitchers Aaron Sanchez and Jaime Garcia on the 10-day disabled list.