HOUSTON -- Cecil Cooper was more focused on the superb job his bullpen did than Houston's offensive outburst.
Trailing 5-0, Juan Gutierrez (1-1) relieved in the fourth inning and pitched two hitless innings to earn the win. Brad Lidge pitched the ninth for his 15th save in 21 tries.
Gutierrez, Felipe Paulino and Dennis Sarfate shut the Pirates out from the fourth through seventh innings and Chad Qualls and Lidge didn't allow a hit or a run in the eighth and ninth after Stephen Randolph struggled to start the eighth.
"I love what I saw in the fourth, fifth, sixth and seventh innings," Cooper said. "Gutierrez was solid throwing 93-94, then Paulino came in and was hitting 98. Sarfate had a nice breaking ball and threw a few 97 mile-an-hour pitches. It was an excellent job by the bullpen."
"First and foremost, you have to point toward the bullpen," he said. "They did a great job and gave us a chance to get back in it. We had some big hits with men in scoring position. Lately we've had a few opportunities we didn't capitalize on so it was nice to see a game like this."
Lee hit his 250th career homer and kept the ball as a souvenir. "You realize at some point, things have to go our way," Lee said. "We have a lot better team than we've shown but things don't always go your way. We need to finish strong and play hard the rest of the way."
The Astros snapped a three-game losing streak, but have still lost eight of 10.
Wandy Rodriguez lasted only three innings and allowed five runs and five hits.
Matt Morris (9-10) was hit on the back of the hand by a line drive from Hunter Pence in the first inning. Morris stayed in the game then received X-rays afterwards that proved negative. He lasted 3 1/3 innings and allowed seven runs and nine hits and a walk.
"I was going off adrenaline and I think they wanted to ice it down during the game, but I just wanted to keep it going," said Morris, who insisted he would make his next start. "It just didn't work out tonight."
Jack Wilson hit two home runs and Ronny Paulino had four RBI for the Pirates. Pittsburgh made only one error, but also had some mental miscues. They did not field a dribbler by Pence in the fourth and failed to get an out on a bunt by J.R. Towles in the fifth inning that helped lead to a run.
"Bottom line tonight is that we did not pitch well in spots and we didn't play well defensively," manager Jim Tracy said. "We have been playing well defensively all season and I can't remember the last time that we played this poorly defensively.
"In the fourth inning, especially, there seemed to be some confusion on the dribbler that Pence hit and that just was the start of it."
Steve Pearce led off the second inning with a double and scored on Paulino's single to give Pittsburgh a 1-0 lead.
After Freddy Sanchez singled and Jason Bay was hit by a pitch to start the third inning, Paulino hit a three-run homer, his 11th of the season. Wilson followed with his 10th home run to make it 5-0.
But Morris ran into trouble in the fourth when Lee led off with his 29th homer. Pence then singled and one out later, Wigginton hit a two-run shot to make it 5-3.
Josh Anderson's RBI single closed it to 5-4 and Craig Biggio singled to load the bases. Lance Berkman was then hit by a pitch to send home the tying run.
Reliever Solomon Torres came in and Lee, batting for the second time in the inning, hit a two-run single to give Houston a 7-5 lead.
In the fifth inning, pinch-hitter Jason Lane hit a bases-loaded grounder to first and was called out when he collided with first baseman Pearce at the bag. A run scored to make it 8-5 and Wigginton's solo homer in the seventh inning pushed the score to 9-5.
Wilson's two-run homer in the eighth got Pittsburgh within two.
Morris made his 300th major league start. His first start was against the Astros on April 4, 1997. ... In the fifth inning, Zach Duke made his first relief appearance after 65 major league starts. ... The homers by Paulino and Wilson were the fourth time this season Pittsburgh has hit back-to-back homers. Wilson had his first career two-homer game.