PHOENIX -- Roger Clemens' Houston teammates gave him a birthday cake in the clubhouse Saturday night -- with one candle, not 44.
"It would have been a fire hazard," Clemens joked.
"It's a lot of fun being around these guys," Clemens said. "I wouldn't be here if I didn't enjoy being around them, that's for sure.
Brad Ausmus hit his third career grand slam and Clemens scattered eight hits over seven innings.
Clemens (3-4), who struck out five and walked one, gave up three runs but finally got some offense behind him.
"It's been awhile," Houston manager Phil Garner said. "I can't remember when he's had some runs to work with. He wanted to work on a few things and he had a chance tonight without having to feel like he couldn't make a mistake, and as usual he gave us another great game."
Clemens had allowed two earned runs in 14 innings in his previous two outings, but came away with a loss and no decision.
Luke Scott hit a two-run homer and Aubrey Huff a solo shot off Dustin Nippert, recalled from Triple-A Tucson to start in place of Arizona ace Brandon Webb, out with a sore right elbow. It was only the second homer of the season for each of the three Astros.
Scott was 4-for-4, Huff had an RBI single and Lance Berkman doubled in a run for his 95th RBI of the season.
"That's about a month's allotment in run support," Ausmus said.
Eric Byrnes hit his team-leading 17th homer of the season for the Diamondbacks.
In his previous start, against the Diamondbacks in Houston on Sunday, Clemens allowed two hits and left with a 5-1 lead after seven innings, but Arizona rallied to win 7-6. There was no comeback this time in the Astros' fourth victory in five games.
"He doesn't have the fireball that he used to, but I'll tell you what, he knows how to pitch," Arizona's Orlando Hudson said. "He moves the ball around, up and down, in and out. You got to take your hat off to him, he's a Hall of Famer."
Morgan Ensberg and Scott singled to start the Houston second, then Adam Everett walked to load the bases. Ausmus hit a 1-0 change-up into the seats in left center and it was 4-0.
The Diamondbacks cut it to 4-1 in the third. Shawn Green reached on a one-out bloop single to left, then Hudson's line drive to right bounced over the fence for a ground-rule double, leaving runners at second and third. Green scored when Stephen Drew grounded out to short.
Ensberg singled again in the third, then Scott's 412-foot shot into the swimming pool area in right-center put Houston up 6-1. Huff's leadoff homer in the fifth made it 7-1.
Nippert (0-2), in his fifth big-league start and second this season, allowed seven runs on eight hits in five innings. He struck out six and walked three.
"It pumped me up more than anything," Nippert said of facing Clemens. "I wanted to go out there and do that much better just because it was him. I get a chance to pitch against someone like him once in a lifetime, and I didn't do that good of a job."
- With his infield single in the first, Craig Biggio became the 34th player in major league history to have 2,900 hits.
- Arizona CF Jeff DaVanon left the game after spraining his left ankle while stealing second base in the first inning. He was replaced by Byrnes.
- Clemens made his third start at Arizona. His first was in Game 7 of the 2001 World Series.
- RHP Enrique Gonzalez pinch-hit for Nippert to lead off the fifth, grounding out to second.