The Royals snapped a season-worst nine-game losing streak with a 1-0 victory over the Astros in Houston.
Danny Duffy and three relievers combined on a two-hitter.
Tim Hill worked a spotless ninth for his first career save.
Rosell Herrera delivered a RBI-triple in the ninth and went over the fence to rob Alex Bregman of a homer in the eighth.
uli Gurriel and George Springer grounded into double plays with the bases loaded to end the Houston sixth and seventh innings.
Dallas Keuchel pitched six scoreless innings in a no-decision. Ken Giles picked up the loss.