The right-hander dominated for eight innings and Molina had two hits and two RBIs to help spoil Wandy Rodriguez's first start in more than a month in the Cardinals' 6-1 victory on Wednesday night.
"You can call whatever pitch you want and he's going to throw it for a strike and it's going to be nasty," Molina said. "He's one of the best pitchers in the league, I can tell you that."
Cesar Izturis added a two-run triple for the Cardinals, who are 7-3 in their last 10 games against the Astros. Albert Pujols drew his major league-leading 13th intentional walk in the first inning and walked on six pitches in the third, hiking his overall walks lead with 45.
Wainwright (5-2) matched his career high with eight strikeouts, allowed three hits and issued his only walk to Michael Bourn with two outs in the eighth. He is 4-0 with a 2.42 ERA in six starts at home and is 4-0 with a 2.18 ERA against the Astros, the only NL Central team that has never beaten him.
"I would have liked to have been a little more efficient in the eighth and bring it home for us, but I really can't complain," Wainwright said. "It's a really, really good lineup and you have to stay locked in all the time."
Ty Wigginton homered into the third deck in left in the third for the Astros, who have lost only two of their last eight. Houston and St. Louis both entered the game with 30-23 records, tied for second in the division.
The Astros' 4-5-6 hitters, Miguel Tejada, Lance Berkman and Carlos Lee, were a combined 1-for-9 against Wainwright, who threw his second career complete game on April 26 at home against Houston. The Astros never got their leadoff man on base, either.
"He had a great slider and he was using his curveball effectively to change speeds," Wigginton said. "He was lights out from the get-go."
Rodriguez (1-1) made his first start since going on the 15-day disabled list April 20 with a strained left groin and labored over 4 2/3 innings, allowing six runs, three earned, and six hits with four walks. His lone strikeout was on a third-strike bunt attempt by Wainwright in the fourth.
"He threw OK considering he really only pitched with one pitch," manager Cecil Cooper said. "He didn't have his curveball and he didn't have a real good changeup.
"It's a little tough when you get behind the eight-ball right off the bat."
Second baseman Kaz Matsui's throwing error on an easy flip force play at second contributed to three unearned runs in the first for St. Louis. Rodriguez's wildness was also a factor.
Rodriguez threw 15 balls and 12 strikes in the first inning, and did not help himself by walking Ryan Ludwick on four pitches with the bases loaded to force in the first run after Pujols was walked intentionally. A second run scored on a wild pitch in the inning.
Molina and Brian Barton singled to start the fourth and Izturis, the No. 9 hitter, drove them both in with his triple that scooted to the wall in left-center for his first multi-RBI game of the season. He had been 1-for-11 against the Astros before the hit that made it 5-1. Molina's RBI single made it 6-1 in the fifth.
Astros RF Hunter Pence earned his second assist in two games when he threw out Pujols trying to advance to second on a flyout in the third. Pujols was ruled safe until he overslid the bag and was tagged out trying to get back. ... Wainwright also had eight strikeouts Aug. 16, 2007 at Milwaukee. ... The Cardinals have seven bases-loaded walks this season, two by Ludwick. ... Ludwick has 25 RBIs in May.