The Jets had to scramble for the win after blowing a 16-point lead.
They took over at their own 28-yard line, down 27-23 with no timeouts and 49 seconds to play and moved to the Houston 6-yard line thanks to completions from Mark Sanchez to LaDainian Tomlinson and Braylon Edwards.
Sanchez then found Holmes in the left corner of the end zone for the go-ahead score, and New York (8-2) had its third straight win. The Jets' signal-caller went 22-of-38 passing for 315 yards, with three touchdowns and an interception.
The Texans (4-6) blew a game in the last minute for the second straight week.
Matt Schaub passed for 254 yards and a touchdown and Arian Foster gained 84 yards and two touchdowns on 22 carries in the setback.
Exploding whale video goes viral on Internet
Man behind Doritos Locos Tacos passed away on Thanksgiving