HOUSTON — Zack Greinke struck out a season-high 11, and the Diamondbacks used a three-run seventh inning to beat the Astros and Dallas Keuchel 3-0 Thursday in a matchup of AL Cy Young Award winners.
Greinke, the 2009 winner with Kansas City, allowed a season-low four hits — all singles — over seven innings and walked none. He won his fourth straight start and stopped Arizona's three-game skid.
Houston, which had won its previous five games, missed a chance to sweep the four-game, home-and-home series.
Daniel Hudson struck out two in a perfect eighth. Brad Ziegler allowed one hit in the ninth and got his franchise-record 38th straight save, his 10th this season. He has the longest active saves streak among big-league relievers.
Keuchel (3-7), last year's Cy Young winner, has lost six of seven decisions.
"It just seems like every pitch I throw, the game hinges on it, and that's a tough feeling," he said.
The game was scoreless before Welington Castillo's RBI double off Keuchel. Chris Owings added a run-scoring single and Nick Ahmed a sacrifice fly.
It was the first scoreless outing this season for Greinke, who is 7-1 in his last 10 starts to lower his ERA to 4.29; he started 0-2 with a 9.90 ERA.
Greinke didn't allow a hit until George Springer's fly ball to shallow center dropped for a single starting the fourth inning. Houston's next hit was Tony Kemp's one-out single in the sixth.
"The first couple of innings was really good, just tried to stay there because throughout the year I've done that multiple times and then gotten worse as the game went on," Greinke said.