Garcia (12-7) allowed three runs on eight hits to earn the win. He struck out four and did not issue a walk.
Albert Pujols and Yadier Molina both had an RBI single for the Cardinals, who won Friday's series-opener, 4-3, on Nick Punto's 10th-inning sac fly. They have won four straight to climb within 5 1/2 games of Atlanta in the NL Wild Card race. With the Brewers 3-2 loss to the Phillies on Saturday, St. Louis moved within six games of the NL Central lead.
"Obviously you don't like where you are in the standings, but guys are playing loose and nobody's stressing out about it," said Berkman. "We understand what is in front of us. If we want to make a run it absolutely has to be right now."
Derek Lowe (9-14) surrendered four runs on nine hits over six innings to suffer the loss. He walked two and fanned six.
Freddie Freeman hit a two-run homer for the Braves, who have lost seven of their last 10 games.
"I think we're close to breaking out, to where stuff will start clicking offensively," Braves center fielder Michael Bourn said. "The pitchers won't have to carry us the whole time."
Tim Hudson, who has lost two of his last three starts, goes to the mound for the Braves. The righty allowed six hits and four runs over six frames in a loss to the Phillies on Tuesday. He's 3-3 in 10 starts vs. St. Louis.
Jake Westbrook is 2-4 in his last eight starts, but he did tie a career-high with nine strikeouts Monday in a loss to the Brewers. Westbrook, who makes his 30th start of the season today, is 0-1 in three starts facing the Braves in his career.
St. Louis is 4-1 this season vs. the Braves and has captured 10 of the past 13 meetings.