PHOENIX -- Most people at Roger Clemens' age can't get out of bed with a stiff back. The Rocket threw seven dominant innings.
Clemens pitched with tightness in his back in his last start, a condition that returned on the flight to Arizona.
"The plane ride wasn't great. Thank goodness I'm standing up out there," Clemens said. "As long as I was moving around it felt fine."
Adam Everett drove in the go-ahead run with a sixth-inning double and Mike Lamb homered for the Astros, who won for the 14th time in 16 games and extended their lead in the NL wild-card race to two games over the fading Washington Nationals.
Chad Tracy hit his 15th homer for the Diamondbacks, who lost for the second time in six games and fell a game behind the San Diego Padres in the NL West.
Clemens (10-4) was dominant after allowing Tracy's home run two batters into the game. He has won at least 10 games in 19 of his 22 seasons.
"I saw it good out of his hand and it was up enough that I could do something with it," Tracy said. "It's good to do something off a future Hall of Famer, but we lost the game so it's all in vain."
Clemens retired 19 of his final 22 batters, striking out the side in the fourth. The right-hander walked one, struck out eight and lowered his major league-leading ERA to 1.45.
"For the most part I'm staying healthy," Clemens said. "I know I'm going to be sore tomorrow and I'm not looking forward to that. But unless it's major this isn't the time to be putting the ball down."
The Diamondbacks' other two hits against Clemens were a two-out single by Tony Clark in the first and a one-out double by Tracy in the sixth.
"Just another seven innings and one run," Astros manager Phil Garner said. "You guys keep putting that in every story and don't have to rewrite it. All you have to do is change the date. It's absolutely phenomenal."
Brad Lidge pitched the ninth for his 27th save in 30 chances.
Arizona starter Claudio Vargas (4-6) was nearly as sharp, scattering three hits over the first four innings before running into trouble in the fifth.
Brad Ausmus led off with a single past diving third baseman Troy Glaus. Ausmus went to second on a sacrifice by Clemens, moved to third on a groundout and scored on Craig Biggio's looping single to center to tie the game at 1-1.
Houston took the lead in the sixth when Lamb drew a one-out walk and scored one batter later on Everett's double into the left-field corner.
Lamb's seventh homer made it 3-1 in the eighth.
Vargas yielded six hits, walked three and struck out a career-high nine over 7 1/3 innings.
- The Diamondbacks became the first team to face 300-game winners in consecutive games since July 24-25, 1987, when Texas faced Steve Carlton and Phil Neikro. Arizona beat Greg Maddux and the Cubs on Sunday.
- Clemens has allowed three earned runs in 66 innings on the road for a 0.41 ERA.
- Arizona's Chris Snyder just missed a solo homer off Clemens in the fifth, bouncing a ball off the top of the fence inches to the right of the right-field foul pole. Snyder instead became Clemens' eighth strikeout victim.
- Vargas's previous career high was eight strikeouts, set June 26 against Detroit.
- Clemens has pitched in every active major-league stadium except SBC Park in San Francisco and Pittsburgh's PNC Park. Clemens is scheduled to start in San Francisco this weekend.
- Vargas has allowed four earned runs in his last three starts, a span of 27 1/3 innings.
- The Diamondbacks said more than 7,000 walk-up tickets were sold Tuesday, accounting for nearly one quarter of the announced crowd of 31,696.