ST. LOUIS -- Brian Barden took the term "sacrifice bunt" a little too literally. But he got the job done, helping to pave the way for the Cardinals' 4-3 comeback win over the Cubs at Busch Stadium on Tuesday night.

Barden's bunt was one of a string of little things on a night when one big thing threatened to obscure all the little things. Yet without the contributions from Barden, Yadier Molina, Felipe Lopez, Jason Motte and plenty of others, Albert Pujols' game-changing three-run homer might not have mattered.

The Cardinals played and won the kind of game that they can't afford to lose if they're going to finagle their way into October. They overcame a three-run early deficit and a shaky starting pitcher. They escaped numerous threats over the final three innings. Their MVP candidate hit the long ball, and their little guys scratched out the deciding run.

"A lot of solid baseball there at the end," said manager Tony La Russa.

St. Louis pulled within 3 1/2 games of Wild Card-leading Milwaukee, the closest the Cards have been to a playoff spot since the morning of Aug. 29.

Three innings after Pujols' three-run laser-beam to right-center tied the game at 3, the Cubs and Cards were still knotted. Carlos Marmol had dismissed St. Louis in the eighth, and he came out to do it again -- but the Cardinals didn't let him.

Molina led off with a single and was lifted for pinch-runner Brendan Ryan. A balk by Marmol sent Ryan to second, and Felipe Lopez fought through an 11-pitch plate appearance to draw a walk.

Barden couldn't get out of the way of a Marmol fastball up and in as he tried to bunt, and the ball dinged his right index finger. Yet he hung in there and sacrificed the runners to second and third, bringing up Cesar Izturis. Barden maintained that Marmol had some ill intent in firing the first pitch so close.

"I guess it's happened in the past, so it was no big surprise," Barden said.

With Ryan running on contact, Izturis hit a bouncer to second baseman Mark DeRosa, who fired home. Ryan was able to slide around a tag from catcher Geovany Soto, and the game was over.

"You just try to make contact right there, try to put the ball in play and win the game," Izturis said. "This means a lot to us, especially against the Cubs."

Three innings earlier, Pujols had drastically changed the course of the game. Down-ballot Cy Young candidate Ryan Dempster had cruised through the first five innings with scarcely a threat. But Skip Schumaker doubled and Aaron Miles beat out a bunt single, bringing up Pujols.

The impossibly-hot slugger did what he's doing on a regular basis, throttling a Dempster fastball to right-center to tie the game.

"It wasn't even a strike," Dempster lamented. "It was up and out of the zone, and he hit it out the other way. He could have popped it up. He could have [flied] out. But he didn't. He did what he does."

Since Aug. 15, a stretch of 20 games, Pujols is 35-for-77 (.455). He has nine home runs, 10 doubles and 23 RBIs in that span, and is slugging .935.

"This is the best that I've felt probably in a year and a half," Pujols said. "I didn't feel for a week like this, or even for a game, where I could drive the ball the other way, last year. And this year I've been consistent the last month or so driving the ball the other way."

The shot got starter Kyle Lohse off the hook after a shaky start. He allowed three runs on eight hits over 5 1/3 innings. He bequeathed a bases-loaded, one-out jam to Motte, who coolly escaped with a strikeout and a flyout.