PHOENIX -- Zack Greinke struck out nine in six-plus innings to bounce back from his first home loss of the season, lifting the Arizona Diamondbacks to a 2-0 victory over the Houston Astros on Monday night.
Greinke (14-5) took his first home loss last week against the Los Angeles Dodgers and followed with a dominating performance against the majors' top-hitting team to help the Diamondbacks win for the third time in nine games.
The NL All-Star struck out AL hitting leader Jose Altuve three times and held the Astros to five hits in 6 2/3 innings. Fernando Rodney worked around an infield single in the ninth for his 27th save.
Arizona's Ketel Marte hit a run-scoring double off Collin McHugh (0-2) in the second inning and J.D. Martinez had another off the right-hander in the sixth.
The AL West-leading Astros have lost six of seven.
Greinke had been dominant at Chase Field prior to his last start, going 10-0 for the best home start in franchise history. The Dodgers ended his undefeated home streak with a 3-2 win last Thursday, knocking him for three runs in 6 2/3 innings.
Greinke had his slider working well against the Astros, keeping the majors' leader in hits and homers off-balance all night. Altuve, hitting .362 coming in, had his first three-strikeout game in three years and fourth overall in seven big-league seasons.
Greinke was lifted after giving up a two-out single to Derek Fisher in the seventh inning.
McHugh was solid in his fifth major league start, allowing two runs on six hits with six strikeouts in 5 2/3 innings. He just couldn't match Greinke at his best.
Diamondbacks LHP Robbie Ray is expected to make a rehab start for Class A Visalia on Thursday, his first time facing live hitters since being struck on the head by a line drive against St. Louis late last month.
Astros: RHP Brad Peacock, who has bounced between the rotation and bullpen, is 7-1 with a 3.46 ERA in 13 starts heading into Tuesday's series finale against Arizona.
Diamondbacks: LHP Anthony Banda will be making his third career start after losing to the Dodgers in his last outing. He allowed three runs in four innings of the 8-6 loss.