Keuchel (7-1) pitched his second career shutout and first since May 13, 2014. He didn't walk a batter and finished with a 1.76 ERA after throwing his eighth complete game overall.
The Astros improved to 31-19, tying the 1998 team that won a franchise-high 102 times for the best 50-game start in team history.
Heavy rains and thunderstorms moved through the area during the game. The public address announcer told fans during the seventh inning that Minute Maid Park would remain open after the game for those who wished to wait out the weather inside.