ST. LOUIS -- All Jaime Garcia needed was a little time off.
St. Louis, which began the day 8½ games behind first-place Milwaukee in the NL Central, won for the fourth time in five games. Cincinnati has lost five of six.
Garcia (11-7) allowed two runs -- one earned -- and seven hits over six innings. He struck out six and walked one.
The left-hander gave up seven earned runs in his previous outing, a 9-4 loss to the Dodgers on Aug. 24. The Cardinals then skipped Garcia's turn in the rotation. He has thrown a career-high 170 innings this season.
|More on Reds at Cards|
St. Louis catcher Gerald Laird said the break helped Garcia return to form.
"He had a chance to gather his thoughts," Laird said. "He made some adjustments in his bullpen [sessions] and looked at some film."
Cardinals manager Tony La Russa felt Garcia was more aggressive.
"Everybody gets out of whack," he said. "He came back. He was really in a good groove. He kept making quality pitches."
Garcia, who was 0-3 with a 6.68 ERA in his previous six starts, said the time off wasn't necessary. But he was pleased with the way he bounced back from his second-worst outing of the season.
"I don't feel like I need it," Garcia said of the break. "But it worked out well. I was able to keep my rhythm going.
But I don't feel like I've hit a wall."
Jason Motte got five outs for his second save. He has not allowed an earned run in his last 21 appearances.
"I don't try and think about it too much," Motte said. "I just wanted to get the outs so we could win the ballgame."
Cincinnati slugger Jay Bruce hit a two-run shot off former teammate Arthur Rhodes to cut the deficit to 6-4 in the eighth. The drive to right was Bruce's 29th homer.
Garcia gave up a run-scoring double to Edgar Renteria in the first and an RBI single to pitcher Homer Bailey in the second before settling down. Garcia allowed just three hits over his final four innings.
"He was changing speeds and throwing his fastball for strikes," Cincinnati manager Dusty Baker said. "He got ahead and that was important."
St. Louis scored three times in the second and twice in the third to overcome an early 2-0 deficit.
Albert Pujols paced the Cardinals' 10-hit attack with a 2-for-3 performance. The three-time NL MVP is 8 for 11 in his last three games, pushing his average to a season-high .296.
"If you look at the last four or five games, the way we were playing defensively and offensively, we're doing a pretty good job," Pujols said. "I feel pretty good swinging the bat. Hopefully, I can continue to do that."
A run-scoring single by Laird and an error on left fielder Chris Heisey helped the Cardinals tie the game in the second. Garcia followed with a run-scoring single to give his team the lead for good, 3-2.
Pujols singled in Jon Jay to make it 4-2 in the third, then scored on a groundout by Lance Berkman.
Bailey (7-7) allowed five runs, four earned, in three innings, tying his shortest outing of the season. He had given up three earned runs or fewer in his previous four starts.
"I just couldn't put them away," Bailey said. "That was 90 percent of it."
St. Louis right-hander Edwin Jackson (11-9, 3.83 ERA) will face RHP Bronson Arroyo (8-11, 5.13) in the final game of the series Sunday. Jackson is 6-2 since the All-Star break. ... Cincinnati C Devin Mesoraco doubled in his major league debut as a pinch-hitter in the seventh inning. ... The Reds, who split the first two games, have not won a series in St. Louis since sweeping a three-game set June 5-7, 2006, a span of 13 series. ... Cardinals SS Rafael Furcal had a string of three successive games with a home run snapped. ... St. Louis C Yadier Molina sat out with a mild calf strain. He is day-to-day.