PITTSBURGH (AP) -- The clock hasn't stopped ticking on the Houston Astros, who keep staging one of the greatest stretch-drive comebacks in major-league history. No matter how long it takes.
Roy Oswalt picked up a weary bullpen with seven shutout innings and the Astros ran their improbable late-September winning streak to nine games, enduring an afternoon-long rain delay before beating the Pittsburgh Pirates 3-0 on Thursday.
The Astros moved within a half-game of NL Central-leading St. Louis, which lost 9-4 to Milwaukee on Thursday. The Cardinals have lost eight of nine to make the Astros' improbable run possible.
The Astros needed nearly five hours to win Wednesday night. This time, they waited 3½ hours just to play. Time is running out on the Astros, who close the season in Atlanta, but it's not stopping them from winning.
The Astros were 8½ games out on Sept. 20.
"We've showed a little bit of grit and determination here to jump back in this race," manager Phil Garner said.
Oswalt (15-8), winning his sixth in a row and fifth straight this month, beat the Pirates for the third time in three starts, allowing only two runs in 20 innings. He gave up four hits, struck out six and walked two.
"They said it would start at 1, then at 2, then at 3 and we made it at 4," said Oswalt, who shortened his delivery to keep from slipping on the mound. "But it worked out well."
There weren't many witnesses for his latest victory. There were fewer than 500 in the stands after a rain delay pushed the starting time from 12:35 p.m. ET to 4:01 p.m. -- believed to be one of the longest delays to start a game in Pirates history.
"It definitely wasn't a playoff atmosphere but, at the same time, it's the most important game of the year for us so far, so you don't have to motivate yourself," closer Brad Lidge said. "But it definitely was a different atmosphere than you're used to at this time of year."
Major League Baseball didn't want the Astros to possibly return to Pittsburgh for a makeup game Monday, so the understanding was the teams would wait as long as necessary to play.
"I applaud the Pirates and the umpires for showing a lot of patience," Garner said. "I don't think anyone wanted to come back. They were willing to give it a lot of time, and I appreciate that."
The Pirates probably wished it had kept on raining as they lost their seventh in a row, all against contenders, and were swept for the second series in a row after dropping three last weekend in San Diego. They must sweep three from Cincinnati over the weekend to avoid losing at least 95 games for the second season in a row.
Garner said earlier in the week the Astros' goal was to not lose again -- their streak is their longest since a 12-game run in August 2004 -- and his players must be listening.
Adam Everett's single drove in the first run of a three-run fifth notable mostly for rookie left-hander Tom Gorzelanny's wildness -- he walked two and hit another batter after retiring the first 13 batters he faced. Houston's only three hits came in the inning, with Chris Burke and Jason Lane also getting singles ahead of Everett's single. Oswalt and Morgan Ensberg walked with the bases loaded to force in the other two runs.
The Pirates' biggest threat came when they loaded the bases in the sixth on singles by Jack Wilson and Jason Bay and Oswalt hit Ryan Doumit with a pitch, but shortstop Everett threw out Xavier Nady at first by a step on a slow roller for the third out.
Oswalt, who is pitching's Mr. September, took care of the rest. He is 51-16 in his career during the second half of a season, going 9-1 in his last 13 starts. And the right-hander is 17-2 in 22 September starts since 2003.
"He's been absolutely golden for us and this was exactly what we needed after the long game last night," Garner said.
NL batting leader Freddy Sanchez of the Pirates went 0-for-4 after having six hits in the first two games of the series. He is hitting .344, and his lead over Florida's Miguel Cabrera -- up to 11 points two days ago -- is down to five points.
Gorzelanny (2-5) gave up three hits, three runs and walked three in seven innings.
"Except for that little lapse in the fifth, he was exceptional," manager Jim Tracy said. "He lost the plate there a little bit."
The Astros won 13 of 16 from Pittsburgh. ... Gorzelanny is winless in his last five starts. ... Friday's game in Atlanta will be the Astros' sixth in four cities in six days. They finished a four-game sweep of the Cardinals in Houston on Sunday night and then spent less than one day in Philadelphia for a makeup game before traveling to Pittsburgh.