National League

• Braves 8, Dodgers 5: In Atlanta, Justin Upton gave the Braves the lead with a sixth-inning grand slam and Atlanta won. Upton drove in five runs hitting behind Jason Heyward, who had two hits with a RBI in his first game back after having his appendix removed April 22.

• Cardinals 7, Brewers 6: In St. Louis, David Freese hit a grand slam for his first homer of the season during a five-run first inning for St. Louis, and the Cardinals held on to beat Milwaukee. The Brewers made it close on a pair of three-run homers by Aramis Ramirez off Jaime Garcia.

• Rockies 10, Giants 9: In Denver, Jordan Pacheco hit a tiebreaking grand slam in the fifth and Carlos Gonzalez added a solo homer, helping Colorado snap a 10-game skid against the Giants.

• Mets 3, Cubs 2: In Chicago, Matt Harvey won his fifth straight decision, allowing five hits in 7 1/3 innings and singling in the go-ahead run in the seventh inning to lead the Mets.

• Phillies 5, Reds 3: In Philadelphia, Domonic Brown drove in the tiebreaking run on an infield grounder in the eighth and the Phillies snapped the Reds' six-game winning streak. Jimmy Rollins hit a two-run homer and Cliff Lee threw seven sharp innings for the Phillies, who've won four of five.

• Nationals 6, Padres 5: In San Diego, Adam LaRoche hit two towering home runs and Chad Tracy's solo shot in the 10th inning lifted Washington. Tracy's seventh career pinch-hit home run negated a blown save from closer Rafael Soriano, who gave up two runs with two outs in the ninth.

American League

• Tigers 2, Rangers 1: In Arlington, Texas, Miguel Cabrera went 3 for 4 with a go-ahead double in the sixth inning to back Rick Porcello and lift Detroit over Texas in a matchup of division leaders. Jim Leyland earned his 1,699th win as a major league manager.

• Yankees 5, Blue Jays 0: In New York, Hiroki Kuroda pitched two-hit ball for eight dominant innings and the Yankees again beat Mark Buehrle and Toronto. Austin Romine and Brett Gardner had run-scoring hits in dropping Buehrle to 1-10 in 15 starts against the Yankees.

• Indians 6, Mariners 3: In Cleveland, Jason Kipnis' three-run homer in the 10th gave the Indians the win. Kipnis' home run came on an 0-1 pitch from Lucas Luetge and capped a two-out rally that began with a walk and an infield hit.

• Rays 12, Orioles 10: In Baltimore, Kelly Johnson hit a three-run homer and an RBI single, and Tampa Bay held on for a victory over slumping Baltimore. Johnson and Yunel Escobar had three hits apiece for the Rays.

• Red Sox 3, Twins 2: In Minneapolis, Jonny Gomes hit a sacrifice fly in the 10th inning to lift Boston to another comeback victory. The Red Sox have won three straight after losing 10 of their previous 14 games.

• Athletics 2, Royals 1: In Oakland, Calif., Adam Rosales hit a go-ahead home run leading off the eighth inning, Josh Donaldson also connected and the Athletics won.

• White Sox 3, Angels 0: In Anaheim, Calif., Chris Sale stifled the Angels' bats for the second time in six days, scattering three hits over 7 2/3 innings with 12 strikeouts.

Interleague

• Pirates 5, Astros 4: In Pittsburgh, Jimmy Paredes dropped Russell Martin's bases-loaded fly ball when he collided with second baseman Jake Elmore with two outs in the ninth inning, the second missed catch by a Houston right fielder, and the Pirates rallied to win.