"Just being more aggressive, that's what I told myself to do," Keuchel said. "Against Milwaukee the second time, I came out more aggressive and today this was a big game for me, because they put a whippin' on me in Arizona and I just wanted to come back and redeem myself. I thought I did a pretty good job."
Miley (13-8) went six innings and held Houston to eight hits and one run to improve to 2-0 with a 1.38 ERA with two walks and 14 strikeouts against the Astros this year. His 13 wins are a club rookie record for Arizona.
"He didn't walk anybody, No. 1," Arizona manager Kirk Gibson said. "That's always a key. If you're making guys put the ball in play, you have a chance. We had a double play there, we picked a guy off. There are other ways and means."
Three of the first four hitters to face Miley in the first inning got singles, but the Astros weren't able to capitalize. That's been a recurring tone for the season, and it certainly established a theme for the night. Houston was 2-for-11 with runners in scoring position and squandered all 11 of their base hits.
"Any time you get 11 hits and only score one run, there's going to be some frustration that's going to come out," Astros manager Brad Mills said. "When the three of the first guys in the first inning get base hits and can't push anything across, that's frustrating. That's tough when you load the bases."
Jose Altuve and Tyler Greene began the first inning with singles for the Astros, and Steve Pearce followed with a rocket to third that was caught by Chris Johnson, the former Astro making his first visiting appearance in Houston. Justin Maxwell followed with a single to load the bases with one out.
"I struggled early," Miley said. "I look back and I felt like I was always in a bind early. I just wanted to do what I can to keep the lead."
Miley wriggled his way out of the mess by getting Ben Francisco to pop out and Brandon Barnes to ground out to end the inning.
"That first inning was a tough one and we were able to get something going," Greene said. "We were able to make hard outs there. We hit some balls hard, but right at guys. That would have been a nice jumpstart. It's always good to score early and score first and jump on them early. We just missed out on it, that's all."
The only runs the D-backs managed against Keuchel came in the fifth when Gerardo Parra and Wil Nieves singled and scored after one out. Parra scored on a squeeze bunt by Miley and Nieves came home on a double by Houston native Chris Young.
"I kind of conceded the first run with the safety squeeze," Keuchel said. "It's frustrating to allow that second run to score."
Keuchel (1-5), who was rocked for seven hits and six earned runs in 3 1/3 innings at Arizona on July 21, held Arizona's 3-4-5 hitters -- Paul Goldschmidt, Justin Upton and Johnson -- to a 1-for-10 night.
"We just scratched," Gibson said. "It didn't come easy for sure, but Wade held us in there. Six strong innings and he held them to one run. We kind of scratched and clawed three runs out of this game tonight. We enjoy that."
The Astros, who scored in the fifth on a sacrifice fly by Greene to cut the lead to 2-1, had the first two batters reach in the eighth, only to be stranded. The Astros are 11th in the National League with a .244 batting average with runners in scoring position.
"I think there's been some frustrating times, there no doubt, this year, but any time you have an opportunity to have 11 hits and not push a whole lot across, that makes it tough," Mills said.
One of the Astros' six hits belonged to Keuchel, who singled in the second inning off Miley, who he considers a good friend from their time together in the Cape Code League, for his first hit in the big leagues.
"Actually, I told some of the guys I could swing it," Keuchel said. "I couldn't feel comfortable in the box here until tonight. I'm good friends with Wade, so it was kind of weird to get my first hit off Wade."