Mets 2, Pirates 1
Pittsburgh - Mike Pelfrey pitched seven shutout innings to lead New York to its fourth straight victory. Jose Reyes and Argenis Reyes had two hits each for the first-place Mets, who started the night a game ahead of the Philadelphia Phillies.
Dodgers 5, Brewers 3
Los Angeles - Chad Billingsley settled down after a rocky start, Jeff Kent singled home the go-ahead run in the fifth, and Los Angeles won its fifth straight. The win kept the Dodgers tied atop the NL West with Arizona.
Cardinals 5, Reds 3
Cincinnati - Rick Ankiel hit his first home run in three weeks, a two-run shot off Bronson Arroyo that helped St. Louis beat Cincinnati.
Phillies 1, Padres 0
San Diego - Jamie Moyer outpitched fellow 40-something Greg Maddux for seven innings, Pat Burrell homered, and Philadelphia snapped a four-game losing streak. Moyer (11-7) gave up three hits, struck out two and walked two.
Rockies 4, Nationals 3
Washington - Troy Tulowitzki and Brad Hawpe homered, and Colorado beat Washington. Hawpe's two-run shot to center field capped a three-run rally against Nationals starter Tim Redding (8-8) with two down in the fifth.
Diamondbacks 12, Astros 2
Houston - Brandon Webb struck out six in eight sharp innings, Chris Snyder drove in four runs, and Arizona snapped Houston's eight-game winning streak.
Giants 5, Braves 1
Atlanta - Randy Winn had his 100th career homer among his four hits and drove in two runs, helping San Francisco send Atlanta to its fifth straight loss. Matt Cain allowed only one run in seven innings.
Cubs 6, Marlins 5
Miami - Daryle Ward hit a pinch-hit three-run homer in the ninth inning, and Chicago rallied to beat Florida for its ninth straight road victory. Ward drove an 0-1 pitch from Florida closer Kevin Gregg over the wall in right field for his third home run of the season and 11th career pinch-hit homer.