MILWAUKEE -- Tony Graffanino just wouldn't quit.
Graffanino fouled off four pitches with two strikes already on him before he singled in the winning run in the ninth inning to lift the Milwaukee Brewers over the St. Louis Cardinals 4-3 Monday night.
"I was going to fight and fight until hopefully I got a pitch I could hit," he said of his 10-pitch at-bat. "He made some good pitches I was able to foul off, and I was able to get one through the hole."
Albert Pujols hit a three-run drive for his 46th homer for the Cardinals, whose magic number was lowered to seven when Cincinnati lost 5-3 to the Houston Astros. St. Louis is seeking its third straight NL Central title and at least a share of the division's top spot for the sixth time in seven seasons.
Pujols, who also doubled and singled, spoiled Milwaukee starter Chris Capuano's shutout bid with his line drive over the left-field wall with two out in the seventh. Aaron Miles had an infield single and So Taguchi walked before Pujols connected on an 0-1 pitch to tie his career home run mark set in 2004.
"Albert Pujols is just an offensive monster," Brewers manager Ned Yost said. "I don't think I've seen a ball hit that hard all year. It stayed on a line all the way out of the ballpark."
Damian Miller singled off Braden Looper (9-2) to start the ninth for Milwaukee. Drew Anderson pinch ran for him and advanced on Jeff Cirillo's sacrifice. Graffanino, who had two doubles and a sacrifice fly, singled to left and Anderson beat the throw home.
"Once I got two strikes, I was looking for anything," Graffanino said. "He left one in a little bit that I was able to get the bat to."
Looper's last loss was June 30 against Kansas City.
Francisco Cordero (2-0) pitched one perfect inning to get the win.
"It's a huge pick up for the team," Yost said as the team started its final homestand of the season.
Capuano allowed three runs and eight hits in seven innings. He walked two and struck out two as he lost his fourth straight start. He has gone 1-7 in 13 starts since the All-Star break.
"He's always tough on us," Pujols said of Capuano. "Our job was to go out there to try to score early. That didn't happen."
The Cardinals were 0-for-9 with runners in scoring position until Pujols' home run.
"We had a couple of golden ones (chances) that we don't usually miss," La Russa said. "But, you have to give Capuano credit, pitching out of them.
St. Louis starter Anthony Reyes allowed two runs and five hits in 5 1/3 innings and tied his season high with nine strikeouts. It was a much better start than his last outing on Sept. 8 when he gave up seven runs and seven hits in 2 1/3 innings of a 13-1 loss to Arizona.
The rookie right-hander has been wearing down, and La Russa skipped his turn in the rotation to give him some rest.
Geoff Jenkins, who was hitting so poorly that he was benched in early August, put Milwaukee ahead 1-0 with a solo shot leading off the second. It was his fifth home run this month and 15th of the season.
Reyes held the Brewers scoreless until Tony Gwynn Jr. tripled leading off the fifth and scored on Graffanino's sacrifice fly.
- SS David Eckstein pinch hit in the seventh for Hancock and lined out. It was his first appearance since Aug. 18 for St. Louis. He was activated Sept. 15 from the 15-day disabled list with a strained left oblique muscle.
- Unless deemed necessary by Major League Baseball, the Cardinals' rainout on Sunday with the San Francisco Giants will not be rescheduled. St. Louis will play just 161 games for the first time since 1999.