ST. LOUIS -- After getting swept by Atlanta late last month to start a 4-11 skid, St. Louis is a win away from handing the Braves a four-game sweep.
Shelby Miller stopped Atlanta on three hits over seven strong innings and the offense put away a close game late in a 6-2 verdict at sold-out Busch Stadium.
Miller (12-8) walked none and struck out six in his first win since Aug. 2. It was his longest outing since working seven shutout innings against San Francisco on June 1, a span of 14 starts.
It was the ninth win in 12 games for the Cardinals (76-53), who drew within a half-game of National League Central leader Pittsburgh, pending the outcome of the Pirates' game in San Francisco. The Braves (77-52) fell for the fourth time in five games.
Matt Holliday laced a two-run double off reliever David Carpenter in the seventh, giving St. Louis a 4-1 lead. After Allen Craig's single moved Holliday to third, Yadier Molina tacked on an RBI single to center.
Carlos Beltran's third hit of the night, a two-out RBI single in the eighth, capped the Cardinals' scoring.
Pinch-hitter Gerald Laird's run-scoring double in the ninth enabled Atlanta to put the tying run in the on-deck circle, so St. Louis manager Mike Matheny waved in closer Edward Mujica. He fanned Elliot Johnson for the last out and his 34th save in 36 tries.
Julio Teheran (10-7) absorbed the defeat after allowing five hits and four runs over six innings.
Atlanta grabbed a first-inning lead when Freddie Freeman lined a solo homer into the bleachers in right-center, his 16th of the season.
But St. Louis responded immediately on Matt Carpenter's 10th homer, a leadoff blast to right field which flew 424 feet. It was the second leadoff homer for Carpenter, whose 60 RBI from the leadoff spot top all MLB players.
The Cardinals grabbed a 2-1 lead in the third when Beltran cracked his 23rd homer, a towering fly ball that nestled into the seats in right field.
St. Louis managed just three hits through five innings off Teheran, but failed to cash in on five walks. The Cardinals stranded six men, including a pair in scoring position.
NOTES: Atlanta RF Jason Heyward underwent surgery on Friday to repair his fractured jaw, suffered when he was beaned Wednesday in the sixth inning of a game at the New York Mets. Atlanta surgeon Dr. Glenn Maron placed two plates -- one at each fracture site -- in Heyward's jaw. Heyward could be out for the regular season's remainder. ... St. Louis leads the majors in doubles during August with 64, 13 more than Minnesota. The Cardinals also pace the National League with 124 runs. ... St. Louis has belted 21 homers this month, more than twice as many as it managed in July (9). The Cardinals also have 11 in their last eight games.