Cubs 11, Astros 7
Chicago - Alfonso Soriano hit a tiebreaking, three-run homer in the seventh inning, and Chicago rallied after blowing a five-run lead.
Braves 11, Giants 4
San Francisco - Mike Hampton earned his first victory in nearly three years and hit an RBI double.
Brewers 8, Reds 1
Cincinnati - Prince Fielder hit a two-run homer that helped Milwaukee beat Cincinnati.
Cardinals 6, Dodgers 4 (11)
St. Louis - Ryan Ludwick hit a two-run home run in the 11th inning off Jason Johnson, a starter called into relief duty, to lift St. Louis.
Mets 6, Padres 5
New York - Fernando Tatis homered twice and drove in four runs. Mike Pelfrey pitched effectively into the seventh inning to help the Mets end a four-game skid.
Scott Schoeneweis became the first Mets reliever besides Billy Wagner to earn a save this season when he retired Brian Giles on his only pitch.
Diamondbacks 3, Pirates 1
Phoenix - Brandon Webb became the first 16-game winner in the majors, tossing a nine-hitter for his third complete game. Webb (16-4) carried a shutout into the ninth but surrendered a leadoff double to Freddie Sanchez and an RBI single to Doug Mientkiewicz.
Marlins 8, Phillies 2
Philadelphia - Josh Johnson pitched six scoreless innings, Jeremy Hermida drove in four runs, and Florida beat Philadelphia in a matchup of the two top teams in the NL East.
Rockies 8, Nationals 2
Denver - Brad Hawpe's bases-loaded, two-run single in the bottom of the eighth sparked a six-run rally.