The nine runs were the most the Giants have scored since May 30, when they beat the St. Louis Cardinals 9-4.
Braves 6, Phillies 4
ATLANTA -- Right-hander Ervin Santana, supported by a string of two-out hits, won for the third time in four starts as Atlanta beat Philadelphia.
Santana (8-6) pitched six innings and allowed four runs, three of them earned, on six hits. He was backed by two double plays and some timely offensive support.
Nine of Atlanta's 10 hits came with two outs, and the Braves scored five runs after two were out and no one was on base. The Braves had averaged only 2.9 runs in support of Santana in his previous 17 starts.
The losing pitcher was A.J. Burnett (6-9), who now has a 5-13 career record against the Braves.
Indians 9, Tigers 3
DETROIT -- Jason Kipnis homered twice, including a three-run blast to highlight a seven-run outburst in the seventh inning, as Cleveland defeated Detroit.
Nick Swisher had a two-run single and Asdrubal Cabrera followed Kipnis' first homer with one of his own during the Indians' highest-scoring inning of the season. Kipnis smacked his second homer and Swisher added an RBI double in the ninth.
Tigers All-Star designated hitter Victor Martinez contributed two hits in his return after missing eight games because of side soreness.
Red Sox 5, Royals 4
BOSTON -- Xander Bogaerts and Jonny Gomes hammered two-run homers into the center-field bleachers in the sixth inning as Boston charged from behind to beat Kansas City.
Bogaerts, batting .116 in his last 32 games coming in, hit his first homer in 90 at-bats with one out against right-hander James Shields. Later in the inning, with left-hander Scott Downs (0-3) in relief, Gomes batted for Jackie Bradley Jr. and connected for his second pinch-homer of the season for a 5-4 lead.
Koji Uehara worked a one-hit ninth for his 19th save, leaving the tying run at second. The win was the fifth in the past six games for the Red Sox.
Pirates 4, Rockies 2
PITTSBURGH -- Travis Snider's pinch-hit double broke an eighth-inning tie and lifted Pittsburgh over Colorado.
With the game tied at 2, Neil Walker started the winning rally with a single off Matt Belisle (2-5) and took third on Gaby Sanchez's single.
Snider then pinch hit for left-handed reliever Tony Watson (6-1) and laced a double past diving right fielder Carlos Gonzalez to drive in Walker. Josh Harrison capped the inning with a sacrifice fly. Mark Melancon pitched a scoreless ninth for his 17th save.
White Sox 3, Astros 2
CHICAGO -- Tyler Flowers hit a late-inning double to drive in the winning run and lead Chicago to victory over Houston.
Chicago snapped a 2-2 tie in the bottom of the seventh inning. With one out, Alejandro De Aza singled, stole second and then scored on Flowers' RBI double. The catcher was among the American League leaders in batting average in April and early May but entered the game hitting .218.
The White Sox had tied the score at 2 in the bottom of the sixth on a long two-run homer by Dayan Viciedo with two outs.
Rays 6, Twins 2
MINNEAPOLIS -- Tampa Bay got a solid performance from starter Alex Cobb and a pair of timely hits in a victory over Minnesota.
Cobb pitched 5 2/3 innings of two-run ball to earn his fifth victory of the season, allowing five hits and two walks. He hit two batters.