ST. LOUIS -- It's been a big September for Roy Oswalt, and this time he stifled a team that has given him problems.
Oswalt won for the fourth time this month with the help of a two-inning save from Brad Lidge, and the Houston Astros extended their NL wild-card lead to 2½ games with a 3-1 victory over the St. Louis Cardinals on Tuesday night.
"They were swinging the bats pretty good and it didn't look like things were going to happen with a big night offensively," Houston manager Phil Garner said. "So Roy had to pitch well, and he did. So did Brad."
"It's a huge home run under the circumstances the last couple of days, with what my mom went through," Biggio said. "She wanted me to get here and not miss any games."
The Astros (86-71) matched a season high at 15 games above .500 and snapped a six-game skid in St. Louis, winning for the fourth time in 15 tries overall against the Cardinals. Houston has five games remaining, four at home against the Cubs, and Philadelphia's 3-2 loss to the Mets gave the Astros a nice cushion.
Houston's victory also eliminated New York from playoff contention.
"We're not oblivious to the scoreboard," Lidge said. "We can see what the Phillies are doing. It's just one of those deals that if Roy's throwing as good as he is, he's allowing us some free time to look at the scoreboard."
Matt Morris (14-10) lost his career-worst fifth straight decision despite working six solid innings. Larry Walker had three hits in his first game back after a fourth cortisone shot for a herniated disc in his neck, and scored the Cardinals' lone run on Reggie Sanders' double in the sixth.
"I had some good swings and I felt comfortable," Walker said. "After five days, I was happy with how it went."
The Cardinals are 3-7 since clinching the NL Central title and need to finish 3-1 to give the franchise 100 victories in consecutive seasons for the second time, and first since 1942-44.
Oswalt (19-12) allowed one run and eight hits in seven innings with seven strikeouts and no walks. He is 4-1 with a 2.48 ERA in September. He lost his other two starts against the Cardinals this season, allowing 10 runs in 12 innings.
"I've faced these guys 50 times it feels like already," Oswalt said. "I got a few guys to swing at pitches out of the strike zone, that's the biggest thing.
"Everyone knows I don't try to walk anybody."
Lidge, pitching for the first time in five days, earned his 39th save in 42 chances. He also got his first career pickoff, catching rookie pinch-runner Skip Schumacher off first in the ninth.
The Astros had only one runner in scoring position before breaking through against Morris in the sixth. Mike Lamb singled with two outs and Lane followed with his 25th homer over the center-field wall.
Lane is batting .351 in his last 15 games since Sept. 12 with four homers, four doubles and nine RBI. Of his 37 career homers, 13 have come in September.
Consecutive one-out doubles by Walker and Sanders, who just missed a homer on a drive off the right-field wall, cut the gap to a run in the sixth.
Biggio homered off Jason Marquis, pitching in relief for the first time since the end of the 2003 season, leading off the eighth. Marquis, who allowed only that hit in two innings, does not figure in the Cardinals' rotation for the first round of the playoffs.
Morris, who'll pitch in the final regular-season game at 40-year-old Busch Stadium on Sunday, had his second straight resurgent start after a stretch of four ineffective outings. He gave up two runs and five hits with three strikeouts and a walk.
"It's good for you guys," manager Tony La Russa told reporters. "Maybe you'll get off his case a little bit."
- Albert Pujols participated in the Busch Stadium countdown, removing his jersey No. 5.
- he Astros are 34-11 when Lane gets an RBI.
- The Astros are 76-0 when leading after eight innings.
- Marquis' last relief outing was Sept. 28, 2003, when he earned his first -- and only -- career save for the Braves.
- A paid crowd of 40,260 gave the Cardinals a franchise record of 3,351,194 fans for the season. The previous record was 3,336,493 in 2000.