Javier Vazquez took a shutout into the ninth inning as the Atlanta Braves roughed up Chris Carpenter in a 9-2 victory over the St. Louis Cardinals Sunday to complete a three-game sweep. Vazquez allowed a leadoff single to Skip Schumaker and then retired the next 17 batters before Schumaker reached on an infield single in the sixth. It was the 25th complete game of Vazquez's career and his second of the season. Vazquez (13-9) has won his last three decisions. He stuck out eight while walking none. He threw just 94 pitches. Carpenter (16-4) had his worst outing of the season. He allowed seven earned runs on nine hits in six innings pitched. Giants 7, Dodgers 2: At San Francisco, Brad Penny kept his emotions in check and pitched seven strong innings to beat his former club, and Juan Uribe hit a two-run homer as San Fransico avoided a sweep by with a victory over the first-place Dodgers. Los Angeles' lead in the NL West remained at three over Colorado after the Rockies lost again at San Diego. The Giants moved within 4½ games of Colorado in the NL wild-card race. Uribe had three hits, as did Travis Ishikawa, who added an RBI double for San Francisco, which ended a four-game home losing streak. Penny (3-0) has a perfect record since signing with the Giants on Aug. 31 – after he lost his final four decisions with the Red Sox before they released him. Phillies 5, Mets 4, 1st game; Phillies 1, Mets 0, 2nd game: At Philadelphia, Kyle Kendrick (1-1) pitched into the eighth inning, and Shane Victorino and Ben Francisco each homered to lead Philadelphia over New York in the opener of a day-night doubleheader. Brad Lidge, who was temporarily demoted from his Phillies closer role this week, gave up two runs in the ninth but finished for his 29th save in 39 opportunities. Ryan Madson had blown the save in Saturday's loss to the Mets. Madson closed out Pedro Martinez's gem in the nightcap, after the former Mets ace outdueled Tim Redding (2-6) with six hits in eight scoreless innings. In the opener, New York right-hander John Maine (5-5) made his first start since June 6. He gave up an RBI double to Ryan Howard in the first of his three innings. He threw 57 pitches and gave up two hits. In other games it was: Padres 7, Rockies 3; Pirates 2, Astros 1; Cubs 5, Reds 2; Nationals 7, Marlins 2, 8-1/2 innings; Brewers 5, Diamondbacks 3.