Phillies 8, Nationals 4
Philadelphia - Ryan Howard hit his major-league-leading 48th homer, Joe Blanton pitched six effective innings, and Philadelphia moved closer to clinching the NL East title.
The Phillies' magic number for winning their second straight division championship was reduced to one after the New York Mets lost to Florida.
Fans kept a close eye on the out-of-town scoreboard, cheering when the Marlins took a 2-0 lead in the first inning at Shea Stadium.
A few minutes later, Howard got them roaring when he connected to give the Phillies a 3-0 lead in the first. The sellout crowd screamed "MVP! MVP!" and waved their white-and-red "Fightin' Phils" towels in appreciation.
They went wild in the ninth after manager Charlie Manuel got into a heated argument with plate umpire Andy Fletcher and was ejected.
Marlins 6, Mets 1
New York - Mike Pelfrey lost to Florida for the fourth time this season.
D'backs 6, Rockies 4
Phoenix - Chad Tracy's pinch-hit double drove in two runs in the eighth.
Brewers 5, Cubs 1
Milwaukee - Rickie Weeks hit a three-run homer in the seventh, Seth McClung pitched four scoreless innings in relief, and Milwaukee rallied to beat Chicago for itsfifth straight victory and the lead in the NL wild-card race.
Cardinals 7, Reds 6
St. Louis - Troy Glaus drove in the winning run with a bases-loaded sacrifice fly.
Astros 5, Braves 4
Houston - Pinch-hitter Darin Erstad hit a game-ending home run in the ninth inning to lift Houston.
Pirates 6, Padres 3
San Diego - Ryan Doumit hit a three-run homer, and Freddy Sanchez added a solo shot to help Pittsburgh snap a nine-game road losing streak.