John Parker Wilson threw for two touchdowns and ran for a third Saturday, but it took a big defensive play by Simeon Castille for Alabama to put away Houston 30-24 on the final play.
Faced with criticism from fans after the Crimson Tide lost to Georgia and Florida State, Wilson responded with a pair of 23-yard touchdown passes to Nikita Stover and Mike McCoy and a 1-yard sneak to give Alabama (4-2) a 23-0 lead after one quarter.
Houston's unorthodox no-huddle offense finally broke through, and the Cougars (2-3) found themselves with a chance to tie the game on the final play.
Brandon Brinkley picked off Wilson and the Cougars drove to the Alabama 15 with 5 seconds remaining. Facing fourth-and-3, Case Keenum scrambled away from pressure and threw a rainbow into a crowd on the left side of the end zone.
Castille came down with the ball to preserve the win and was mobbed by teammates.
Glen Coffee led Alabama with 122 yards and a touchdown on 30 carries. D.J. Hall caught three passes for 19 yards to become Alabama's all-time receptions leader with 153, breaking the old mark set by Freddie Milons.
Houston made it a game despite early breakdowns on defense.
After spotting Alabama three touchdowns and giving up a safety, Houston got on the board when Blake Joseph threw a 68-yard touchdown pass to Donnie Avery. T.J. Lawrence added a 34-yard field goal.
Alabama built its lead to 30-10 on Coffee's run, which was set up by a fumbled punt, but things got tight for the Tide after that.
Keenum scored on a 2-yard run to cap a 75-yard, 12-play drive early in the fourth quarter, and Anthony Aldridge caught a 30-yard touchdown pass from Keenum.
The Cougars got the ball back on their own 39 with 2:56 remaining, but Castille's interception killed the comeback.
Houston averaged better than 33 points a game coming in, but it was allowing more than 30 points. The numbers wound up working in favor of Alabama, even though Houston outgained Alabama 404 yards to 347.
Wilson completed 15 of 27 passes for 157 yards.