Rookie Lonnie Chisenhall hit his first career homer for Cleveland, which took two of three from the AL East leader despite leaving the bases loaded twice and stranding 13 runners.
Braves 9, Rockies 1 - Chipper Jones hit a two-run homer, Jair Jurrjens earned his NL-leading 12th win, and host Atlanta won for the eighth time in nine games. Jurrjens (12-3) gave up one run and five hits and two walks in six innings. He has surrendered no more than one run in four straight starts, leaving his NL-leading ERA at 1.87.
Rays 12, Twins 5 - Evan Longoria snapped out of his slump with three hits and four RBIs, helping Tampa Bay avoid a sweep in the Twin Cities. The third baseman, bothered by injuries for much of this substandard season, was 3 for 28 before the game.
Brewers 3, Diamondbacks 1 - Pinch hitter Casey McGehee launched a three-run homer in the seventh inning, then spiked his batting helmet in the dugout while apparently letting out weeks of frustration, to rally host Milwaukee. McGehee, benched three of the previous five games because of a seasonlong slump, hit his first home run since May 20.
Tigers 5, Angels 4 - Miguel Cabrera homered during a three-run seventh inning and Detroit broke out of an offensive funk to avoid a three-game sweep in Anaheim, Calif.
Reds 9, Cardinals 8 - Pinch hitter Ramon Hernandez doubled in the go-ahead run in the 13th inning as visiting Cincinnati survived blowing an eight-run lead and avoided a three-game sweep. Chris Heisey, Jay Bruce, Fred Lewis, and Scott Rolen homered for the Reds, who led, 8-0, in the fifth but managed only three hits over the next seven innings.
Cardinals first baseman Albert Pujols went 1 for 6 in his first game since returning a month ahead of the timetable from a broken left wrist.
Athletics 2, Mariners 1 - Guillermo Moscoso gave up two hits in seven innings and Scott Sizemore homered and drove in two runs to help host Oakland salvage the finale of a three-game series.
Royals 4, White Sox 1 - Bruce Chen (5-2) pitched effectively into the seventh inning and Eric Hosmer hit a home run to spark visiting Kansas City.
Marlins 7, Phillies 6 - Mike Stanton hit a one-out solo homer in the 10th inning as host Florida overcame an early four-run deficit to avoid a series sweep.
Rangers 13, Orioles 5 - Alexi Ogando (9-3) gave up four hits over seven innings in his last start before the All-Star break as host Texas completed a three-game sweep.
Nationals 5, Cubs 4 - Wilson Ramos decided a game of two-run homers with a suicide squeeze, driving in Michael Morse in the seventh inning to lift host Washington.
Mets 5, Dodgers 3 - Ruben Tejada doubled home two runs while filling in again for injured shortstop Jose Reyes, Carlos Beltran doubled twice and scored twice, and visiting New York posted its fourth straight victory.
Astros 8, Pirates 2 - Hunter Pence had three hits, including an RBI single during a five-run sixth inning, and visiting Houston snapped a five-game losing streak.