ST. LOUIS -- Bud Norris' first major league start was a breeze after he got over some early jitters.
"Once I got in the dugout and watched the first half inning I settled down," Norris said. "I got out there, threw my warmup pitches and it felt like any other day."
Norris was working on a no-hitter before pitcher Adam Wainwright led off the sixth with a single to center. Norris (1-0) walked four and struck out five while subbing for Roy Oswalt, who missed his turn with lower back discomfort.
"He showed great confidence out there," Houston catcher Ivan Rodriguez said.
Wainwright (12-7) allowed two runs over seven innings for the Cardinals, who won the first two games of the weekend series. Wainwright was trying to become the majors' second 13-game winner, joining Boston's Josh Beckett.
"I was OK," he said. "I could have been better in spots but for the most part I felt pretty good."
Houston went in front when Miguel Tejada drove in Kaz Matsui with an infield hit in the fourth. Matsui led off the inning with a double and advanced to third on Hunter Pence's single.
Michael Bourn gave the Astros a 2-0 lead with a two-out RBI double in the seventh.
Houston closer Jose Valverde came in to face Albert Pujols after pinch-hitter Ryan Ludwick singled with one out in the eighth. On a 3-2 pitch, Pujols struck out and Ludwick was cut down by Ivan Rodriguez while trying to steal second.
Valverde then worked the ninth for his 12th save in 16 chances as Houston ended a four-game skid.
"We needed a win in the worst way," manager Cecil Cooper said. "We needed a big game and Norris gave us one. It was an outstanding performance from the young man, especially being his first start."
Pujols went 5 for 27 (.190) with one RBI on St. Louis' seven-game homestand. Matt Holliday went hitless Sunday for the first time since being traded to the Cardinals on July 24th.
"He's in a funk," Cardinals manager Tony La Russa said of Pujols. "He'll fix it."
Norris got his first career hit when he beat out an infield single in the third. ... Cardinals SS Brendan Ryan sat out for the third straight game after bruising his left ankle on a foul ball in the Cardinals' 5-3 loss Thursday night to the Dodgers. ... Cardinals INF Khalil Greene flied out to right as a pinch hitter in the 8th. It was his first at-bat since June 28th. Greene (social anxiety) was activated from the disabled list Saturday.