Taysom Hill threw for 200 yards and a touchdown while running for 160 yards and another score, and No. 25 BYU beat Houston 33-25 on Thursday night.
Jamaal Williams rushed for 139 yards and two TDs for BYU, which has won its opening three games for the first time since 2008. BYU moved into the rankings after a 41-7 victory over Texas last weekend.
BYU jumped out to an early 23-0 lead, but the Cougars (1-2) scored 15 straight points before halftime.
Houston's John O'Korn passed for 307 yards and three touchdowns, including a 45-yard desperation heave to Daniel Spencer as time ran out in the first half. Deontay Greenberry caught a pair of O'Korn's touchdowns.
The teams met last season with BYU pulling out the win on Hill's 11-yard touchdown pass to Skyler Ridley with less than two minutes to go for a 47-46 win.
On Thursday, BYU managed to hang on to the lead despite numerous mistakes. A fake punt to cap its opening drive of the second half failed. BYU was also hurt by a personal foul penalty on Tejan Koroma, who was ejected from the game.
Trevor Samson kicked a 26-yard field goal to extend BYU's lead to 26-15 late in the third quarter. Williams added a 2-yard touchdown run early in the final period.
BYU appeared to score on its first drive of the game, but Hill's 32-yard pass to Devon Blackmon was called back by an illegal formation penalty.
Houston's Ryan Jackson later fumbled in the end zone and the ball was recovered by Zac Stout for the safety to put BYU up 2-0. Williams' 11-yard touchdown run pushed the lead to 9-0 before Hill scored on a 5-yard keeper.
Houston's Kyle Bullard attempted a 38-yard field goal early in the second quarter but the ball barely got off the ground because of a muffed hold.
Hill hit Mitch Matthews with a 6-yard scoring pass to make it 23-0 with 8:57 to go before halftime.
Houston rallied, and after Bullard hit a 29-yard field goal, defensive tackle Joey Mbu intercepted Hill at the BYU 29, and Houston capped the ensuing series with O'Korn's 7-yard touchdown pass to Greenberry.
Hill found Mitch Juergens with a 38-yard pass, but safety Adrian McDonald forced a fumble and ran the ball back 28 yards to the BYU 45. With time running out, Spencer pulled down O'Korn's 45-yard heave to narrow the score to 23-15 at the break.
Bullard missed the extra points after both Houston touchdowns.