PHOENIX -- Rookie Micah Owings talked his way into his first complete game.
"He came in after the eighth and basically said, 'I'm not coming out of this game,"' Melvin said.
Usually, that's the manager's call. But Owings talked Melvin into it and got through the inning easily. He finished with a season-high eight strikeouts. He allowed a run and nine hits with a walk.
Chris Snyder homered and Eric Byrnes and Orlando Hudson tripled for the light-hitting Diamondbacks, who had six extra-base hits and matched a season high for runs. They pulled within two games of Los Angeles in the tightly packed NL West.
It looked like it would be a short night for Owings (3-1), with seven of the first 15 Astros getting hits.
But Owings benefited from poor Houston baserunning. Three Houston runners were thrown out on the basepaths in the first three innings, and the Astros had only one run -- on a second-inning single by pitcher Wandy Rodriguez -- to show for all their hits.
"We let him off the hook," Houston manager Phil Garner said. "We're sputtering. Our offense is just about ready to click, just close."
Carlos Lee and Hunter Pence each had two hits for the Astros, who are 0-4 on a seven-game western trip that began in San Francisco.
The Astros have scored a total of five runs in their five-game skid.
"We're not striking the ball well," Garner said. "We're not hitting it well in bunches, so we're having trouble scoring runs."
Hitting .244 as a team coming in, Arizona has also struggled to score. But the Diamondbacks quickly broke out of their slump against Rodriguez (2-4), who defeated them May 13 in Houston. They scored more runs in the first inning (4) than they had in the previous two games combined (1).
"It's good to see," Byrnes said. "It's the type of team that we are. It's the type of production that we need from everybody."
After Chris Young led off with a single, he took third on Conor Jackson's double and scored on Orlando Hudson's groundout.
Byrnes hit an RBI triple and Mark Reynolds and Stephen Drew each doubled home a run to put Arizona ahead 4-0.
In the third, Hudson tripled and scored on Byrnes' single to make it 5-1.
Rodriguez left after five innings and allowed eight runs, five of them earned, and nine hits. He walked none and struck out three.
"Today I had everything bad, and I missed a lot on my location," Rodriguez said.
Like Rodriguez, Owings struggled early. But then he found a groove.
"You look up there and he's got seven hits against him in three (plus) innings, and we're thinking, 'Man, if we can get him through five or six here,' " Melvin said. "He ends up going nine. His command got better as the game went along."
Owings retired 18 of the final 20 batters.
Owings' outing was all the more impressive because it preserved the bullpen, which may be taxed on Friday night. Edgar Gonzalez makes an emergency start for Randy Johnson, who has forearm tendinitis, and Melvin said he'll probably limit Gonzalez to 100 pitches.
Making only his seventh big league start, the 24-year-old Owings threw 118 pitches. His longest start came five days after his shortest -- a 2 1/3-inning pounding at Pittsburgh, where he gave up seven earned runs.
Owings said he went into the game trying not to do too much.
As it turned out, he did just enough.
"For me, it's big just knowing I can do it, that I can go through (batting) orders two and three and four times and just keep trusting my stuff," Owings said.
Young, who has been bothered by a groin injury, was removed after three innings. Young was replaced by Scott Hairston. Young said he didn't aggravate the injury. "I consider it completely mental," he said. Asked if Young might be headed for the disabled list, Melvin said he would wait to see Young run before Friday night's game. ... Houston LHP Mark McLemore, who was promoted from Triple-A Round Rock earlier in the day, made his major league debut. He pitched a perfect eighth inning, striking out two.