The Colts limited the Texans to 209 total yards and got a safety. Each AFC South team finished with a 4-12 record.
Jacoby Brissett completed 15-of-24 passes for 114 yards and one touchdown for Indianapolis.
The Colts went ahead 14-13 on Marlon Mack's 1-yard touchdown run in the third quarter. Earlier in the drive, Colts receiver T.Y Hilton and Texans cornerback Johnathan Joseph exchanged punches, drawing offsetting penalties
Gore had runs of 16, 13 and 8 yards on that drive.
In the fourth quarter, Colts tackle Hassan Ridgeway sacked T.J. Yates in the end zone for a safety to take a 16-13 lead.
Adam Vinatieri's 54-yard field goal pushed the lead to 19-13 midway through the fourth quarter.
Vinatieri added a 22-yard field goal with 31 seconds left to seal it.
Yates completed 10-of-15 passes for 112 yards to lead Houston to a 13-7 halftime lead. Yates finished with 14 completions in 24 attempts for 137 yards and was intercepted on the game's last play.
The Texans took a 3-0 lead on a 52-yard field goal by Ka'imi Fairbairn. The Colts took a 7-3 lead on the first play of the second quarter on a 6-yard touchdown pass from Brissett to tight end Jack Doyle.
That capped a 15-play, 75-yard drive that lasted more than eight minutes.
Houston went ahead 10-7 on 2-yard touchdown run by Alfred Blue, capping a 13-play, 75-yard drive.
The Texans added a 46-yard field goal by Fairbairn with 1:44 left in the second quarter.
Thompson, who had two catches entering the game, had three catches for 54 yards in the first half.
NOTES: Colts CB Kenny Moore suffered a concussion in the first half. ... Texans WR Will Fuller V suffered a knee injury in the first half and was ruled out for the rest of the game. ... Texans WR DeAndre Hopkins was inactive because of a calf injury. It was the first game he has missed in his five-year career, starting all 79 games. Entering Sunday's action, Hopkins led the NFL with 13 touchdown catches ... Colts WR Donte Moncrief, who was a limited practice participant during the week, sat out for his fourth consecutive game with an ankle injury. ... Colts RB Frank Gore became the first running back to start all 16 games in a season at age 34 or older.