PHOENIX -- Dan Haren left each of his previous two outings with the lead, and Arizona's leaky bullpen cost him the victory each time.
Haren wasn't going to let it happen again Friday night.
"His last two outings, we lost the lead for him," Reynolds said. "I don't think he was going to come out of the game tonight. He said he was going to throw 150 pitches if he had to."
Haren (5-4) only needed 112 pitches to pick up his eighth career complete game and second this season.
Haren had grown frustrated as the bullpen blew a 6-1 lead in his last start and a 5-1 lead the start before that. But he said those disappointments didn't provide any extra motivation to go the distance.
"Obviously, I want to win games," said Haren, who is building a strong case for his third All-Star game berth. "I'd be lying to you if I said I didn't want to get the Ws by my name. But my job is to go out there and give the team the best chance to win."
Given the shaky state of the Diamondbacks' bullpen, Arizona's best chance was with Haren on the mound.
Dazzling the Astros with an array of breaking pitches and fastballs, Haren struck out seven and walked two. Pitching under a clear sky on a 91-degree night in the desert, Haren seemed to grow stronger as the game went on.
"He was in complete control and as determined as any pitcher I've seen in a long time," Arizona manager A.J. Hinch said.
Haren retired 11 of the first 12 men he faced, with Carlos Lee reaching on Ryan Roberts' error in the second. Lee connected on a hanging split-finger fastball in the fourth -- tying Lance Berkman for the team lead with 11 homers -- and Berkman followed with a single.
Haren closed with a flourish, retiring the last 11 batters, with a Chase Field crowd of 22,225 on its feet as Hunter Pence grounded to second to end the game.
"He's real efficient with his pitches," Houston manager Cecil Cooper said. "He pitches in the zone. He pitches ahead. He attacks the zone with his fastball and his cutter and slider and everything."
Haren entered with a 2.33 ERA, tied for the league lead with Cincinnati's Johnny Cueto.
Reynolds gave Haren more than enough support.
Reynolds entered with an NL-high 87 strikeouts. But he put the ball in play in each of his five trips, flying to left in his final at-bat.
"I found some holes and hit the ball hard," Reynolds said. "I don't know. I just hit it on the barrel a couple of times. I can't explain it."
Chris Young followed Reynolds' homer with a solo shot to the same area two pitches later, the third time this year the Diamondbacks have hit back-to-back homers.
Gerardo Parra also homered and had three hits for Arizona.
Hampton left after five innings, yielding three runs and eight hits with a season-high five walks.
"I just could never really get into that rhythm," Hampton said.
Houston RHP Jose Valverde, out since April 26 with a strained right calf, will be activated in time for Saturday's game. The Astros plan to use the righty in one non-save situation before he returns to his closer role. ... Astros LHP Wandy Rodriguez will start the opener of a three-game series at Texas on Tuesday. ... Houston INF Kaz Matsui, on the 15-day DL with a strained right hamstring, was to play his third rehab game at Double-A Corpus Christi on Friday. He's scheduled to rejoin the Astros on Tuesday. ... Arizona 1B Tony Clark, out since May 5 with an injured right hand, began a rehab assignment at Triple-A Reno on Friday.