Cincinnati padded its National League Central lead to six games over St. Louis, and Philadelphia and Atlanta both won in the East race Friday night.
Braves 8, Cardinals 6 — The Braves scored six runs in the sixth inning, sending 10 hitters to the plate and taking advantage of a dropped fly ball by right fielder Jon Jay to rally.
Atlanta fell behind 4-1, giving up a two-run homer to Matt Holliday and a two more RBIs to Chris Carpenter (15-6), who had a run-scoring single and the second homer of his career. Atlanta won for just the third time in nine games.
Pinch-hitter Brooks Conrad got the big inning started with the first of four straight hits off Carpenter. Jason Heyward had an RBI single and Martin doubled to tie the game at 4.
Peter Moylan (6-2) won with a scoreless sixth. Billy Wagner earned his 33rd save.
Reds 4, Pirates 3 (12) —Francisco Cordero blew a two-run lead in the ninth, but Cincinnati recovered on Jonny Gomes' bases-loaded grounder in the 12th inning.
The NL Central leaders had dropped a season-high five in a row, whittling their lead over St. Louis from eight to five games.
Chris Heisey started the winning rally with a bunt single off Wilfredo Ledezma (0-2), who then hit Joey Votto. Scott Rolen singled off Joel Hanrahan to load the bases. Gomes then hit a soft grounder to shortstop Ronny Cedeno, whose throw in the dirt couldn't get Heisey at the plate.
Jordan Smith (2-2) retired the last two batters in the top of the 12th.
Phillies 8, Mets 4 — Roy Halladay earned his 18th victory, the most by a Philadelphia pitcher in 27 years, and hit a two-run single as Philadelphia won its fourth straight.
Ryan Howard and Chase Utley homered as the NL East leaders held their one-game edge over Atlanta. Wilson Valdez, subbing for injured shortstop Jimmy Rollins, drove in two runs.
Halladay (18-10) allowed four runs and eight hits in 7 2/3 innings, becoming the Phillies' top winner since John Denny posted 19 in 1983. Jenrry Mejia (0-4) remained winless as a big leaguer.