As Jason Motte walked off the mound, all he could do was tip his cap.

Joe Mather's two-run single with two outs in the ninth inning lifted the Chicago Cubs to a 3-2 comeback win over the St. Louis Cardinals on Monday night.

The Cardinals closer had the Cubs down to their final strike when Mather, a former Cardinal, grounded a 2-2 slider up the middle, scoring Bryan LaHair and Geovany Soto.

LaHair battled Motte (1-1) for 12 pitches before drawing a one-out walk. Motte then walked Soto, before Steve Clevenger's grounder moved the runners up to set the plate for Mather.

"I made some really good pitches, he just did a good job of fouling them off and keeping himself in the at-bat," Motte said of LaHair. "He stayed in there long enough and I ended up throwing ball four."

Cardinals manager Mike Matheny visited Motte after the back-to-back walks, hoping to slow him down.

"You don't want him to keep throwing and throwing without really thinking, slowing, stopping, breathing a little bit," Matheny said. "I felt real good about him getting out of that, and he's gonna get us out of that almost all the time."

Rafael Dolis (1-1) picked up the win in relief.

Jaime Garcia outdueled Matt Garza, who held St. Louis to two runs and four hits in seven innings, striking out five and walking three.

"My job is to go out there and take my team as deep as I can," Garza said. "Tonight, I didn't think I was going get out of the fifth."

Garcia threw just 85 pitches before departing with two outs in the eighth, striking out just four batters and walking one.

He's given up two earned runs over his last two starts, working seven innings or longer each time.

"I was able to keep the ball down and control the counts pretty good," Garcia said. "We take a lot of things from this game, definitely."

Garza has allowed three earned runs or fewer in his last 14 home starts, the longest streak by a Cubs pitcher since Mark Prior had 16 in a row over the 2004 and 2005 seasons.

Skip Schumaker led off the fourth with an infield single and went to third on Matt Holliday's double down the left-field line. Schumaker scored on Carlos Beltran's groundout, and Holliday scored on Yadier Molina's sacrifice fly.

The Cubs improved to 4-7 at Wrigley Field and won for just the second time the eight games.

Holliday had two hits and scored a run for St. Louis. Schumaker, making just his second start of the season, singled and scored the other run.

Garcia gave up a first-inning run when Alfonso Soriano's sacrifice fly scored Darwin Barney, but he limited Chicago to just four hits over his final 6 2-3 innings. He was aided by double plays in the fifth and sixth.

"That's something I've been working on," Garcia said. "Every time somebody gets on base, that's what I want to do. I want to make them hit it on the ground and get out of the inning as quickly as possible."

Garcia allowed an eighth-inning single to speedster Tony Campana, who stole second and third off reliever Mitchell Boggs. But Boggs escaped the threat by getting Starlin Castro on a roller to short.

Darwin Barney singled twice, walked, and scored the Cubs' only run. Castro legged out an infield single in the first, increasing his hitting streak to 11 games. He's reached base in 56 of his last 57 games.

The punchless Cubs went homerless for the ninth straight game, their longest drought since June 30 to July 13, 2007. Chicago is last in the majors with just five homers on the season.

NOTES: An MRI on Cardinals outfielder Jon Jay's right shoulder revealed no structural damage. Jay injured the shoulder when he crashed into the fence on Thursday in St. Louis. Manager Mike Matheny said Jay may be able to pinch-run during the series against the Cubs.