Pirates 8, Giants 7
San Francisco - Barry Bonds connected for career homer No. 758 and his third clout of the week.
Cubs 6, Rockies 2
Denver - Jason Marquis held Colorado to five hits and added a key double.
Phillies 6, Braves 4
Philadelphia - Jayson Werth scored the go-ahead run on a throwing error by Yunel Escobar in the seventh inning. Cole Hamels (13-5) gave up four runs and five hits in the first inning, but retired 17 of his last 19 batters and allowed just two baserunners - one on a walk and one on Wes Helms' fielding error.
Diamonbacks 11, Nationals 4
Phoenix - Conor Jackson drove in four runs with two homers, and Arizona beat Washington for its 16th victory in 19 games.
Marlins 4, Mets 3
New York - Hanley Ramirez hit a go-ahead, two-run double off Billy Wagner in the ninth inning. The Mets' Carlos Beltran hit a three-run homer.
Brewers 5, Astros 4, 11 inn.
Houston - Corey Hart hit an RBI triple off Brian Moehler in the top of the 11th inning as Milwaukee snapped a four-game losing streak.
Dodgers 2, Cardinals 1
St. Louis - James Loney broke a scoreless tie with a two-run homer off Adam Wainwright with one out in the ninth inning.
Padres 12, Reds 7, 11 inn.
Cincinnati - Khalil Greene homered and drove in three runs, including the go-ahead run in the 11th, and San Diego overcame a rare Trevor Hoffman blown save.