ST LOUIS, Missouri — Jaime Garcia tossed eight shutout innings in his longest outing since 2013 and even chipped in an RBI hit to earn a 4-0 win over the Kansas City Royals in an Inter-League game Friday. St. Louis left fielder Randal Grichuk went 2-for-4, tripling home right fielder Jason Heyward during a two-run eighth inning and then scoring when center fielder Jon Jay lofted a sacrifice fly. The Cardinals upped their major league-best record to 40-21 while Kansas City (34-24) saw their four-game winning streak end. American League Blue Jays 13, Red Sox 10: Catcher Russell Martin hit a go-ahead three-run triple as the Toronto Blue Jays scored nine runs in the top of the seventh inning and rallied from a seven-run deficit and extended their winning streak to nine games. Toronto (32-30) sent 12 batters to the plate and had nine hits in the seventh against three Boston relievers. The meltdown sent the Red Sox (27-35) to their fourth straight loss and they fell a season-high eight games under .500. Orioles 11, Yankees 3: Chris Davis slammed a three-run homer and drove in four runs as the Baltimore Orioles extended their season-best winning streak to five games with a victory over American League East rival New York. Davis, designated hitter Jimmy Paredes and catcher Caleb Joseph each had three hits and Joseph swatted his fifth homer of the year for Baltimore (30-30). New York (33-27) lost for the second straight game after having a seven-game winning streak snapped June 10 by Washington. Tigers 4, Indians 0: Miguel Cabrera hit a monster three-run home run to deep center field in the sixth inning and added an RBI double in the eighth while David Price powered through Cleveland's lineup for a seven-hit shutout to lead the Detroit Tigers to a victory over the Indians. The left-handed Price (6-2) recorded eight strikeouts for his third complete game of the season. Detroit improved to 32-29, dropping Cleveland to 28-32. Angels 5, A's 4: Home runs by Mike Trout and Kole Calhoun in the bottom of the eighth inning lifted the Los Angeles Angels to a win over the Oakland A's. Right fielder Josh Reddick had given the A's (25-38) a 4-3 lead with a two-run homer in the seventh, but the Angels bounced back in the eighth against A's reliever Evan Scribner. Angels (31-30) manager Mike Scioscia watched the final three innings from his clubhouse office after being ejected for the first time this season. Other results: Rays 7, White Sox 5; Rangers 6, Twins 2; Astros 10, Mariners. National League Mets 5, Braves 3: Shortstop Wilmer Flores and left fielder John Mayberry homered and right-hander Bartolo Colon threw six solid innings as the New York Mets beat the Atlanta Braves. Colon improved to 9-4 while the Mets (33-29) moved 1 ½ games ahead of the Washington Nationals in the National League East. The Braves (29-32) fell to 4-7 this month. Brewers 8, Nationals 4: Aramis Ramirez doubled three times and drove in five runs and Mike Fiers struck out eight as the Milwaukee Brewers beat the Washington Nationals. Fiers (3-6) scattered five hits and three walks in seven innings, including a solo home runs by Nationals right fielder Bryce Harper, his 21st of the year. Reds 5, Cubs 4 (10 innings): Todd Frazier went 2-for-5 with three runs scored, including the go-ahead run in the 10th inning, as the Cincinnati Reds topped the Chicago Cubs. Reds shortstop Eugenio Suarez lined a one-out single to shallow left off Cubs (32-27) reliever Hector Rondon to score Frazier from third and give the Reds (28-32) the lead. Marlins 5, Rockies 1: Rookie right-hander Jose Urena earned his first Major League win, leading the Miami Marlins past the Colorado Rockies. The Marlins hit two homers, including a three-run blast by rookie catcher J.T. Realmuto in the eighth inning, while Urena allowed one run in 6 2/3 innings. Other results: Dodgers 4, Padres 3; Pirates 1, Phillies 0 (13 innings); Diamondbacks 1, Giants 0. — Reuters