ST. LOUIS — John Smoltz struck out six and allowed one run in six innings in his first home start for St. Louis, and Albert Pujols hit his 41st homer leading off the bottom of the ninth to give the Cardinals a 3-2 victory over Washington.
Pujols homered off Jason Bergmann (2-4) for his eighth career walkoff homer And first since July 13, 2006. Bergmann has allowed seven runs in 21?3 innings in his last five appearances.
The NL Central leaders have won 16 of 20.
Khalil Greene's first career pinch-hit homer tied it at 2 in the eighth against Nationals starter John Lannan, who allowed two runs and four hits in eight innings.
Jason Motte (4-4) worked around a one-out double by Elijah Dukes in the ninth.
Josh Bard, a .385 career hitter against St. Louis, put the Nationals ahead 2-1 with an RBI double off Blake Hawksworth in the seventh. Dukes doubled twice and went 3 for 4.
Smoltz, released by Boston earlier this month after going 2-5 with an 8.33 ERA, struggled only in the third, allowing two hits and a sacrifice fly by Pete Orr.
REDS 4, DODGERS 2: At Cincinnati, Homer Bailey gave the best performance of his career, holding the NL's top team scoreless for eight innings, and Cincinnati won their season-high fifth straight.
Bailey (4-4) allowed only seven singles and had a career-high seven strikeouts while going eight innings for the first time in his career.
Nick Masset gave up a solo homer to James Loney, starting a wild ninth. Francisco Cordero came on and loaded the bases with two outs, let in a run on a wild pitch and got Ramirez on a called third strike to end it.
Jonny Gomes had an RBI single and a solo homer off Chad Billingsley (12-8), who lasted five-plus innings.
CUBS 5, METS 2: At Chicago — Alfonso Soriano made up for several miscues in the outfield with a tie-breaking three-run homer in the eighth inning for Chicago.
Milton Bradley who like Soriano has been booed by frustrated Cubs fans, led off the inning with a double, his third hit. He scored on Aramis Ramirez's single, tying the game 2-all.
After reliever Brian Stokes (1-3) walked Jeff Baker, Soriano hit an 0-2 pitch for his 20th homer of the season and first since July 29.
The Cubs have won just seven of 21 since Aug. 7.
Making his first start of the season, Pat Misch allowed six hits in a career-high seven innings for the Mets, who have lost six of seven.
BREWERS 8, PIRATES 6: At Milwaukee — Prince Fielder, Ryan Braun and Jason Bourgeois homered and Milwaukee snapped a three-game losing streak.
The Brewers have won 19 consecutive games over Pittsburgh at Miller Park, Last losing to the Pirates in Milwaukee on May 3, 2007.
Manny Parra (9-10) won for the fifth time in seven starts, allowing six runs and 10 hits in six innings.
Trevor Hoffman pitched the ninth for his 28th save and upped his all-time record total to 582.
Zach Duke (10-12) had his shortest outing of the year, allowing seven runs and 11 hits in three innings.
Pittsburgh rookie Andrew McCutchen went 3 for 5 with four RBIs and fell a triple shy of a cycle.
Fielder hit a three-run homer in the first inning for the second consecutive game. His 36th homer gave him a major-league leading 118 RBIs.
PADRES 9, MARLINS 5: At Miami — Will Venable had two RBI singles and Kyle Blanks added a two-run homer in San Diego's six-run second inning.
David Eckstein was 3 for 6 with two RBIs for the Padres. Everth Cabrera drove in two runs and Chase Headley — who replaced Blanks in that second inning — added three hits for San Diego, which is 3-1 on its six-game trip to Atlanta and Florida.
Chris Coghlan was 3 for 5 and Wes Helms went 2 for 5 with two RBIs for Florida, which has dropped six of nine.
Blanks' two-run homer was a costly shot for both the Padres and Marlins. Blanks aggravated a sore right foot as he rounded the bases, and neither he nor Florida starter Chris Volstad finished the inning.
San Diego sent 12 batters to the plate in the second. Volstad (9-11) was charged with six runs in 1 2-3 innings, his shortest outing in 41 career starts.
Kevin Correia (9-10) gave up 11 hits and four runs in 6 2-3 innings for San Diego.
PHILLIES 4, BRAVES 2: At Philadelphia, Ryan Howard homered twice during a perfect night at the plate, Jamie Moyer pitched effectively out of the bullpen and Philadelphia beat Atlanta in the rain Friday.
Looking for its third straight division title, Philadelphia increased its NL East lead to eight games over Atlanta and Florida, which lost at home to San Diego.
Howard gave the World Series champion Phillies a 1-0 lead with a homer in the second inning off starter Tommy Hanson, who was celebrating his 23rd birthday. After Jayson Werth struck out, rain forced a delay of 63 minutes.
Play then resumed for 7 minutes before another 45-minute stoppage.
D-BACKS 14, ASTROS 7: At Phoenix, John Hester hit a towering homer in his first major league at-bat, and Arizona scored seven runs in the third inning on their way to a rout of Houston.
Alex Romero and Miguel Montero homered for Arizona, which won for the third time in 12 games.
Pinch-hitting in the sixth, the 25-year-old Hester hit a 2-2 delivery from Wilton Lopez, also making his first appearance in the majors, an estimated 420 feet off the batter's eye in center field.
Hester became the 101st player to homer in his first major league at-bat — and the second Diamondback to do it this season. Gerardo Parra homered in his first game on May 13 against Cincinnati.
Jeff Keppinger and Hunter Pence homered for the Astros.
GIANTS 2, ROCKIES 0: At San Francisco, Tim Lincecum struck out eight in eight innings to end a four-start winless stretch, Pablo Sandoval homered and Giants gained ground on the wild-card leading Rockies with its victory Friday night.
The Giants pulled within two games of the Rockies in the wild card and six of the first-place Los Angeles Dodgers, who lost at Cincinnati.
This win certainly provided a boost for San Francisco four days after the Rockies rallied for a 6-4, 14-inning win Monday night on Ryan Spilborghs' game-ending grand slam after the Giants had scored three in the top half. They lost the final three of their four-game series at Coors Field but led in all of the games.