AMES, Iowa -- Breece Hall scored the go-ahead touchdown on an 8-yard run with 4:06 left and Isheem Young intercepted Spencer Rattler in the end zone on No. 18 Oklahoma's final drive, giving Iowa State a 37-30 win Saturday night.
It was the Cyclones' first win over Oklahoma in Ames since 1960 as Iowa State had lost 24 straight home games to the Sooners. That is the longest home losing streak against a single opponent by any team in the AP poll era, which began in 1936.
The Sooners, beaten at home by Kansas State last week, lost back-to-back regular-season games for the first time since 1999.
The Cyclones wore down the Sooners with the running of Hall, who rushed for 139 yards. Iowa State's Brock Purdy passed for 254 yards and ran for a 2-yard touchdown to tie it at 30-all.
Isaiah Thomas seemed to turn momentum in the Sooners' favor when he sacked Purdy, causing him to fumble at the Cyclones' 39. Four plays later Rattler found Jeremiah Hall for a 4-yard touchdown pass that put Oklahoma up 30-23 with 8:17 left.
Kene Nwangwu returned the ensuing kickoff 85 yards, setting up Purdy's short touchdown run to tie the game.
Rattler had played a strong game, committing no turnovers before Young stepped in front of his pass to Charleston Rambo to secure one of Iowa State coach Matt Campbell's biggest wins in five years in Ames.
The Associated Press contributed to this report.