Andruw Jones and Brian McCann hit back-to-back homers to start a six-run sixth inning, and Atlanta beat Pittsburgh 9-1 on Friday night.
Tim Hudson (9-5) gave up five hits and walked one batter in seven shutout innings. He had four strikeouts and is 3-0 in his last four starts.
The Braves, who have won 10 of 14, pulled within one and a half games of the first-place New York Mets in the NL East.
The Braves had seven hits in the sixth, knocking Pirates starter Ian Snell out of the game. Snell (7-6) gave up three homers, two by McCann, who drove in four runs for the second straight game.
Hudson hit a bases-loaded single and Edgar Renteria added a two-run single as the Braves sent 11 batters to the plate in the sixth.
Reds 8, Mets 4
At New York, Brandon Phillips hit a first-inning grand slam and drove in six runs to lead Cincinnati.
Phillips' second slam in 11 days put John Maine in a four-run hole before he retired a batter. Phillips added an RBI double in the fifth and a run-scoring single in the sixth, matching his career high for RBIs.
That made it an easy night for Aaron Harang (10-2), who struck out eight in six innings to win his fifth straight decision.
Lastings Milledge homered late for the NL East leaders, who dropped to 3-7 this month.
Ryan Freel opened the game with a double, Norris Hopper reached on a bunt single and Ken Griffey Jr walked to load the bases. Phillips drove the next pitch over the left-field fence for his 18th home run of the season and third career slam.
Maine (10-5) gave up a season-high seven runs -- four earned -- and six hits.
Phillies 13, Cardinals 3
Kyle Kendrick had another effective outing and drove in two runs and Philadelphia stayed on 9,999 losses.
Chase Utley had a homer, four hits and three RBIs, and Greg Dobbs also had four hits for the Phillies, who had a season-high 23, four shy of the team record.
Albert Pujols of the Cardinals hit his 17th homer, his first since June 14.
Kendrick (4-0) has pitched at least six innings in all six of his starts and hasn't allowed more than four earned runs.
The Phillies are about to become the first professional US sports team to reach an unwanted record: 10,000 losses.
Philadelphia rocked starter Kip Wells (3-12) for five runs in the first inning and scored nine runs by the fifth.
Jimmy Rollins hit a leadoff double in the first, Utley had an RBI single and Ryan Howard doubled as part of a seven-hit, five-run inning.
Kendrick pitched seven innings, his longest outing, allowing one run and four hits.
In other National League action on Friday it was:
* Cubs 6, Astros 0
* Rockies 10, Brewers 6
* Diamondbacks 8, Padres 3
* Dodgers 9, Giants 1
* Nationals 14, Marlins 10
Gary Sheffield stood behind his controversial comments about Joe Torre, Barry Bonds and the New York Yankees before the game, then hit the 12th grand slam of his career to lead Detroit to a 6-3 victory over Seattle on Friday night.
Sheffield fielded questions before the game about his comments to HBO's Real Sports regarding the treatment of black and white players by Torre and his past relationship with Bonds.
Jeremy Bonderman (10-1) pitched seven innings, struck out five, and allowed just six hits. Todd Jones gave up two hits in the ninth before getting his 23rd save.
In the interview with HBO, Sheffield says the black players on the Yankees' roster would be "called out" in the clubhouse by Torre. Sheffield also denied he ever took steroids, but admitted taking the "clear" and the "cream" -- two designer steroids created by BALCO. Sheffield said he didn't know they were steroids, said he trusted and felt himself being controlled by Bonds. But, Sheffield claimed, "if I took what Barry Bonds took, why don't I look like him?"