HOUSTON — Jaime Garcia was finally able to beat the Houston Astros at home last week. A few days later, he handled them on the road, too.
Garcia pitched seven sharp innings against a previous nemesis and Jon Jay drove in two runs to help the St. Louis Cardinals improve their playoff chances with a 4-0 victory Tuesday night.
"He was good right from the start," Cardinals manager Mike Matheny said. "That was one of his best outings of the season. This is a team that he's had trouble with. This is a place he hasn't thrown real well. He had a lot of things going against him. He was spot-on today. It was fun to see."
The Cardinals won their fourth straight and extended their winning streak over the last-place Astros to a franchise-best 10 games. They also moved 4½ games ahead of Milwaukee in the race for the second NL wild card. The Brewers lost in Cincinnati 4-2.
The Dodgers, who played later in San Diego, began the day 3½ back.
With seven games remaining, St. Louis is closing in on the National League's final postseason spot. Atlanta clinched at least a wild-card berth by beating Miami 4-3 earlier Tuesday night.
Garcia (6-7) allowed six hits and struck out five to beat the Astros for the second time in a week after going 0-5 in his first seven starts against Houston. Mitchell Boggs and Joe Kelly completed the seven-hitter.
It was the ninth shutout for the Cardinals this season and their third straight over the Astros.
Garcia helped the Cardinals beat Houston 5-4 last Thursday, but still wondered how things would go at Minute Maid Park, where he'd allowed nine hits and 12 runs in two starts this season. He lasted just two innings in his last start here in June as part of his season-long struggles on the road, where he is 3-5.
"I'm not going to lie to you and say that I didn't think about it — that every time I come here it hasn't been good," Garcia said. "But at the same time, when I go on that mound, all I'm worried about is making my pitches and giving the team a chance to win."
Houston starter Lucas Harrell (10-11) yielded seven hits and two runs with a career-high six walks in five innings to remain winless since Aug. 14.
"I was terrible," Harrell said. "I felt like the first two innings I was just trying to get a feel for the game. I felt like I never picked up a baseball before. It was embarrassing. It was bad."
Jay drove in a run with a single in the second and sent another run home on a forceout in a two-run eighth.
"He had a big day for us, a couple of big RBIs," Matheny said. "When he gets on, things happen. We were fortunate to have the bottom of our lineup be effective again."
Harrell got into trouble early as Jay led off with a single. Matt Holliday drew a one-out walk before Allen Craig's single loaded the bases. A sacrifice fly by Yadier Molina gave St. Louis a 1-0 lead.
Harrell limited the damage when he struck out Carlos Beltran to end the inning.
Garcia hit a two-out double to the left-field corner in the second and scored on a single by Jay, which rolled just out of the reach of a diving Jed Lowrie at shortstop and into center field to make it 2-0.
The Astros turned a double play to end the third inning and used another one for the first two outs of the fifth. The Cardinals had the bases loaded when Beltran hit a grounder that Matt Downs grabbed near first. He threw home for the first out before catcher Chris Snyder relayed back to first.
Harrell intentionally walked Daniel Descalso before Pete Kozma grounded out to end the threat.
Kozma continued his solid play in place of injured All-Star shortstop Rafael Furcal and had an RBI double in the eighth.
The Astros couldn't string together any hits through the first six innings. Justin Maxwell singled in the seventh before a single by Brandon Laird with one out sent Maxwell to third. The Astros came away empty after a double play by St. Louis.
Houston interim manager Tony DeFrancesco said Tuesday could be Harrell's last start of the season because the rookie entered the game having pitched more than 182 innings.