Keuchel (4-2) struck out seven without a walk. He gave up just one extra-base hit, a double by Adrian Beltre in the first inning, and threw his second career complete game.
The Astros were shut out 4-0 in the series opener, but jumped on Matt Harrison (1-1) for three runs in the second before he left with back stiffness. Hoes hit a two-run homer in the inning.
They were up by four before a four-run fifth inning powered by an RBI single by Hoes and a three-run shot by Corporan.
The roof at Minute Maid Park was open to start the game, but it was closed during the eighth inning with a storm approaching. It was the first Astros game where the roof was both open and closed since 2006.
Houston was up by four before a four-run fifth inning powered by an RBI single by Hoes and a three-run shot by Corporan.
Texas slugger Prince Fielder was thrown out in the fourth, trying to stretch the first of two singles into a double in the fourth. He was initially ruled safe, but Houston manager Bo Porter challenged the call and it was overturned.
Keuchel struck out the side in the second inning and was helped by his defense turning double plays in the third, sixth, seventh and ninth innings.
Hoes hit his first homer since opening day, a two-run shot to the Crawford Boxes in left field to give Houston a 2-0 lead in the second.
Harrison allowed four hits and walked three before he was pulled after 1 2-3 innings. He labored from the start and had already thrown 55 pitches when he left the game.
NOTES: Keuchel's other complete game came on June 23, 2012, against Cleveland. ... The Rangers will recall Nick Tepesch from Triple-A Round Rock before Wednesday's game to start the finale against the Astros against Scott Feldman. ... Houston general manager Jeff Luhnow said Tuesday that RHP Jose Cisnero will have Tommy John surgery on his right elbow next week. ... Luhnow also said that reliever Matt Albers, who is on the disabled list with right shoulder tendinitis, has some inflammation and won't throw for the next 10 days.