Kazmir (9-9) scattered four hits and a walk, registering strikes on 71-of-97 pitches in his sterling start. He threw seven scoreless innings for the first time since 2008, when he was a member of the Tampa Bay Rays.
With the win, the Indians retained a half-game lead over Texas for the second and final American League wild card spot.
Michael Brantley knocked a two-run homer in the first inning while Jason Kipnis and Lonnie Chisenhall each added an RBI for the winners.
Astros starter Paul Clemens (4-6) was tagged for four runs on eight hits in a 4 2/3-inning effort.
Chris Carter socked a solo homer for Houston.