ANAHEIM — Seattle Mariners second baseman Robinson Cano left Saturday's 4-2 loss against the Los Angeles Angels in the sixth inning after being hit in the head by an errant throw during an American League game. Cano was injured after hitting into a double play. The throw from Angels shortstop Taylor Featherston hit Cano in the head and he underwent Major League Baseball's concussion protocol test in the bottom of the seventh. Rangers 4, Blue Jays 0: Right-hander Yovani Gallardo allowed three hits over 8-1/3 innings and the Texas Rangers hit three homes to shutout the Blue Jays. Gallardo stretched his shutout streak to 23 innings to help snap a six-game losing streak. Mitch Moreland, Robinson Chirinos and Rougned Odor each led off an inning with a home run against left-hander Matt Boyd, who made his major-league debut. Rays 4, Red Sox 1: Matt Andriese gave up one hit and struck out five batters over six innings, and Jake Elmore hit a two-run home run to lift Tampa Bay over Boston. Andriese (3-3) needed only 70 pitches (48 strikes) to get through six innings before handing the game over to the Rays bullpen. Royals 3, Athletics 2: Right-hander Chris Young got back on track and red-hot Kansas City moved a season-high 15 games over .500. Young (7-3) rebounded from his worst start of the season with two runs (one earned) and four hits over six innings as the Royals won for the ninth time in 12 games. Yankees 9, Astros 6: Brian McCann hit a grand slam in the first inning and Mark Teixeira delivered a two-run double in the eighth inning as New York recovered from blowing a six-run lead. Brett Gardner had three hits and Chris Young also hit a two-run homer for the Yankees. Houston's Jose Altuve tied the game at 6-6 with a solo homer in the fifth inning. National League Cardinals 8, Cubs 1: Michael Wacha bounced back from a rare off day with six solid innings as St. Louis routed the Cubs 8-1. In winning their fifth successive game, the Cardinals (50-24) reached 50 wins before July 1 for the first time. Marlins 3, Dodgers 2: The Miami Marlins, playing their first game since right fielder Giancarlo Stanton suffered a fractured left wrist, beat Clayton Kershaw to snap a five-game losing streak. Kershaw (5-6), who allowed three runs but just one earned, lost a third straight regular-season start for the first time in his career. Giants 7, Rockies 5: Andrew Susac hit a bases-clearing double with one out in the bottom of the seventh inning and San Francisco won for the first time in five home meetings with the Rockies. San Francisco right-hander Tim Lincecum left in the second inning after taking a line drive off his right forearm. Pirates 8, Braves 4: Pittsburgh scored five runs in the first inning and improved to 11-0 against National League East teams at home this season. In a game delayed by rain twice, Pedro Alvarez, Francisco Cervelli and Jordy Mercer each drove in two runs for Pittsburgh. Starling Marte had three hits and scored three times. Padres 7, Diamondbacks 2: Justin Upton snapped a 2-2 tie with a two-run, two-out homer in the fifth, and Andrew Cashner gave up two runs and eight hits in seven innings, as San Diego defeated Arizona 7-2 to move past the Diamondbacks into third place in the NL West. Inter-League Twins 5, Brewers 2: Eduardo Escobar hit a three-run home run, Torii Hunter hit two homers while T wins pitcher Kyle Gibson worked into the seventh to lead Minnesota over Milwaukee. Gibson (5-6) gave up two runs on six hits in 6 2/3 innings. Matt Garza surrendered four runs on five hits and three walks in six innings for the Brewers. — Reuters