CHICAGO -- Carlos Lee has a simple reason for putting up big numbers at Wrigley Field.
"I just think that I see the ball real good here," Lee said. If you take a ballpark that you see the ball real good, for me it's here. I hit a lot here -- I got places I don't see the ball good and it's the other way around. It's funny how it works."
Lee has hit 20 of his 31 homers against the Cubs at the "Friendly Confines." He also had a two-run single to give him 85 RBIs against the NL Central division rival.
Lee came into the series after going 1 for 12 in a three-game series at Arizona.
"Guys have places that they swing the bat well they see the ball good in and Carlos swung the bat pretty good just in Arizona but he didn't get a whole lot of luck. Most guys usually have a ballpark where they're pretty comfortable," said Astros manager Cecil Cooper. "Maybe it's because he was a White Sox or something."
Roy Oswalt pitched seven strong innings for Houston, who won for just the second time in eight games.
Oswalt (8-5) bounced back after giving up a season high-tying 10 hits in six innings of a 3-2 loss to St. Louis on Wednesday. Oswalt is 5-1 since June 29 and the Astros have nine wins in Oswalt's last 11 starts. He allowed two runs on six hits, striking out three and walking one.
"Didn't really have my good stuff, though," Oswalt said. "I was able to locate some pitches but as far as feeling 100 percent I didn't really feel 100 percent."
Astros reliever LaTroy Hawkins allowed a solo shot to Derrek Lee in the eighth inning and Jose Valverde pitched a scoreless ninth for his 20th save in 24 opportunities. Michael Bourn made a diving catch in center on Koyie Hill's ball to end the game.
The Cubs fell six games behind Colorado and San Francisco in the NL wild-card race.
Chris Coste led off the fourth inning with a walk and advanced to second on a Oswalt's sacrifice bunt. Bourn followed with an RBI double off the ivy in center against Rich Harden. Harden walked Jeff Keppinger and Lance Berkman to load the bases. Then Lee lined a single to left, scoring Bourn and Keppinger.
In the fifth inning, Keppinger led off with a single and, one out later, Lee homered to left-center to put the Astros up 5-0. It was Lee's 22nd of the season.
Harden (8-8) allowed five runs on five hits in five innings. He struck out nine but walked six.
"It was one of those nights where I felt really good, maybe too good. I just had trouble getting a feel and getting into a rhythm and obviously walks killed me, I had a lot of those," Harden said. "It was either strikeout, a hit or a walk, not what the team needed tonight."
Harden was reportedly claimed on the waivers by the Twins, but Cubs general manager Jim Hendry said there was no serious trade discussions between the Cubs and the Twins.
Harden said the reports were on his mind throughout the week.
"It was. You just can't ignore it," Harden said . "The whole thing was ridiculous. It had nothing to do with my performance today. Can't make excuses."
Milton Bradley was 0 for 4 for the Cubs and was booed after every out he made.
Five months after open-heart surgery, Astros 3B Aaron Boone will be activated when major league rosters expand on Tuesday. Astros manager Cecil Cooper is uncertain if Boone will see action Tuesday, but might play against Cubs left-hander Ted Lilly on Wednesday. "He's available but I can't say if he'll start. We'll just have to look at it maybe on Wednesday. I'll look at it and figure out how to get him in there," Cooper said. ... Cubs C Geovany Soto was out of the lineup while in a 6 for 47 slump. The reigning NL Rookie of the Year is hitting .212 in 84 games this season. Cubs manager Lou Piniella said he is going to play Hill more at catcher. ... Cooper said right-hander Felipe Paulino will start Wednesday against the Cubs. ... Cubs LF Alfonso Soriano missed his third game with a sore left knee.