Atlanta - Backed by David Wright's two-run homer, Tom Glavine won for the first time in four tries this season against longtime teammate, John Smoltz, beating Atlanta 3-2 on Sunday as the Mets completed a three-game sweep.
The Mets extended their lead over the Phillies to four games in the NL East.
Dodgers 5, Padres 0
San Diego - Chad Billingsley shut down San Diego's resurgent offense with seven brilliant innings of four-hit ball, beating the Padres for the third time this season.
Rockies 4, Diamondbacks 3
Phoenix - Matt Holliday singled, homered and drove in two runs, and Colorado beat Arizona and Brandon Webb.
Marlins 7, Phillies 6
Miami - Florida tied a team record with five home runs, including two by Cody Ross and a go-ahead homer by Hanley Ramirez.
Cubs 6, Astros 5
Chicago - Derrek Lee drove in three runs, including a two-run homer in the eighth, and NL East-leading Chicago rallied to beat Houston.
Nationals 2, Giants 1
Washington - Ryan Zimmerman hit a one-out RBI single in the bottom of the ninth inning, and Washington took two out of three from the Giants.
Brewers 7, Pirates 4
Milwaukee - Prince Fielder hit his National League-leading 40th home run of the season, Ryan Braun had three hits including a homer, and Milwaukee completed a three-game sweep of Pittsburgh.
Cardinals 3, Reds 2
St. Louis - Rick Ankiel homered for the second time in three days to snap a sixth-inning tie for St. Louis, capping a huge weekend series by the former pitcher.