Keuchel pitched a complete game to extend his promising start to the season, even as Jose Altuve and Teoscar Hernandez left after colliding in the eighth inning.
The pair appeared to avoid serious injury and was in Houston’s clubhouse following the game.
"Nasty collision, both guys going 100 per cent after the ball," manager A.J. Hinch said. "That’s a scary scene. It was an all-around good game, except for the collision."
Altuve and Hernandez crashed into each other chasing a popup in right field and stayed down for a while. Altuve appeared to get hit near his chin by Hernandez’s arm, but he walked off the field under his own power. Hernandez, called up from the minors before the game, was carted off the field with a left leg contusion.
Hinch said Altuve’s left shoulder got banged up and a decision will be made Wednesday whether he’ll play in the second game of the series.
"He’s gotten checked out by the doctors, he didn’t have a concussion, he was never out," Hinch said. "We’ll see how he wakes up tomorrow. He’ll probably feel like he was in a car wreck of some sort."
Altuve, last season’s AL batting champion, plans on being in the lineup.
"I’m a little sore, but I’m feeling better," he said. "I think we still have to wait until tomorrow, but I have a good chance to play."
Hernandez could miss some time, and his injury is another setback for Houston’s outfield. George Springer (strained left hamstring) didn’t start for the second straight game but came in after the collision, and Jake Marisnick (concussion) is out.
Keuchel (4-0) gave up solo homers to Austin Jackson in the third and Michael Brantley in the ninth. The left-hander, who won the AL Cy Young Award in 2015, held Cleveland to six hits and has a 1.22 ERA.
"Honestly I felt like I was getting behind a lot of guys and that it was a recipe for disaster, especially with that lineup over there," Keuchel said.
Josh Reddick gave Houston a 3-1 lead with a two-run single in the fifth, and then took a home run away from Jason Kipnis with a leaping catch at the centre field fence in the bottom of the inning.
Josh Tomlin (1-3) allowed three runs — all in the fifth — in six innings.
Houston is 10-2 since April 11 and leads the AL West at 14-6.
Brantley started the ninth with a home run and Jose Ramirez reached on a one-out single. Kipnis struck out and Brandon Guyer grounded out to end the game.
Keuchel went 20-8 with a 2.48 ERA two years ago. Plagued by a sore shoulder last season, he finished 9-12 with a 4.55 ERA and didn’t pitch in September.
Jackson hit his first home run since Oct. 1, 2015, while playing for the Cubs against Cincinnati.
Reddick tracked Kipnis’ towering drive to dead-centre in the fifth and pulled it back in the park with a leaping grab. Keuchel let out a yell as Kipnis held his helmet in frustration as he rounded first base.
Houston began the fifth with four straight hits, including Norichika Aoki’s RBI single that tied the game.
Cleveland, coming off a 5-1 road trip, fell to 2-5 at Progressive Field.
Kipnis was impressed with Keuchel’s performance.
"I thought he looks more close towards his Cy Young year," Kipnis said. "The at-bat in the last inning, the (pitch) was disappearing right underneath my bat, so tip your cap to him."
Astros: Marisnick was placed on the seven-day concussion list before the game. He ran into a wall chasing a fly ball Sunday.
Astros: RHP Lance McCullers allowed three hits and struck out eight in 6 2/3 scoreless innings against the Angels on April 20.
Indians: RHP Trevor Bauer is 5-0 with a 1.97 ERA in five career starts against Houston.