The Cardinals scored twice in the ninth against rookie sensation Craig Kimbrel and then came through in the 10th to close within 6 1/2 games of the Braves in the battle for the National League wild-card berth.
Atlanta took a 3-1 lead into the ninth and Kimbrel came on in hopes of recording his 44th save. He already holds the all-time single-season save record for rookies.
St. Louis, however, loaded the bases with two out and Albert Pujols came through with a two-run single. Ryan Theriot was thrown out at home trying to score the go-ahead run all the way from first base. It was Kimbrel's sixth blown save of the season.
Jason Motte (4-2) pitched a perfect top of the 10th for St. Louis and became the winning pitcher when the Cardinals got to Scott Linebrink in the bottom half of the inning.
Linebrink (4-3) gave up a leadoff single to Matt Holliday and Lance Berkman's base hit moved Holliday to second.
Pinch-hitter Daniel Descalso advanced the runners with a sacrifice and Skip Schumaker was walked intentionally to load the bases. Punto battled Linebrink through a nine-pitch at-bat before finally producing the sacrifice fly.