The St. Louis left-hander dominated Cincinnati again with eight strong innings, Matt Holliday hit a two-run homer and the Cardinals snapped a three-game losing streak with a 2-1 win over the Reds on Tuesday night.

Garcia (3-1) gave up one run on seven hits, struck out three and did not walk a batter. He improved to 7-0 in eight starts against Cincinnati at Busch Stadium and is 9-2 overall with a 3.18 ERA against them in 13 starts. He retired the last seven batters he faced and recorded 18 ground ball outs.

"They've got a really strong lineup and they take good at-bats," Garcia said. "I just try to make good pitches against them and it's been working."

Edward Mujica struck out the side in the ninth for his fifth save in as many chances.

Bronson Arroyo (2-3) allowed two runs on six hits over seven innings for the Reds, whose win streak ended at three games. Arroyo has had four quality starts in six outings this season.

Holliday drilled a line drive over the left-field wall in the sixth inning, his third homer of the season. Carlos Beltran, who had three hits for the Cardinals, had singled with one out before Holliday went deep.

The shot left the park in a hurry.

"I hit it good with some backspin," Holliday said. "It wasn't a no-doubter, but I wasn't surprised."

Holliday's first homer since April 19 decided a well-played contest between the two NL Central rivals.

"We hate to lose it, but that was a great game," Cincinnati manager Dusty Baker said. "If we keep playing like that, and get pitching like that, we're going to win a lot of ballgames."

Holliday muscled a 3-2 offering from Arroyo into the first few rows of the stands.

Arroyo said he put the pitch in the desired location.

"The guy is a beast," Arroyo said of Holliday. "He's solid and he swings the bat about as hard as anyone in the game. There's only a handful of guys that hit the ball with such a low trajectory and get it out."

The Cardinals managed just one run in their previous 23 innings prior to the homer.

Garcia, given a 2-1 lead, set the side down in order in the seventh and eighth innings with six ground ball outs.

"With the defense we have, you want to make them hit the ball on the ground," Garcia said. "I'm confident that they'll make the plays."

Cincinnati took a 1-0 lead in the fifth on a run-scoring double by Shin-Soo Choo, who has reached safely in 26 of 27 games this season. He brought in Derrick Robinson with a drive off the left-field wall. Choo broke out of a 2-for-20 skid with the double, his eighth of the season.

"That's a tough assignment with that lineup," St. Louis manager Mike Matheny said. "He just goes out there regardless of the situation and makes pitches."

Game notes
Cardinals RHP Lance Lynn (4-0, 3.10 ERA) will face Homer Bailey (1-2, 2.81) in the series finale. Lynn has a nine-game winning streak dating to Sept. 9 -- the longest current run in the majors. ... By Thursday's scheduled off day, the Reds will have played a game for 20 consecutive days. ... Cincinnati has made nine errors in the last nine games after just five in the first 19 contests. ... St. Louis INF Daniel Descalso broke out of a 0-for-18 slump with a seventh-inning single. INF David Freese is 0 for 16 and has not hit a ball out of the infield in his last 13 trips to the plate. ... Cardinals C Yadier Molina broke a 0-for-19 skid against Arroyo with a second-inning single.