The Crimson Tide, whose hopes for a third straight national title were spoiled by Auburn in the Southeastern Conference championship game, scored just 1:49 into the contest and appeared ready to roll over the Sooners.
Knight, however, took advantage of an early interception to throw a 45-yard touchdown pass to Lacoltan Bester that tied the game and Oklahoma kept attacking through the air.
The Sooners scored 17 points in the second quarter to take a 31-17 halftime lead and Knight's fourth touchdown throw of the contest, a 9-yarder to Sterling Shepard, put Oklahoma in front 38-24 with 10:44 to play.
Alabama scored with 6:22 left on a 61-yard throw from AJ McCarron to Derrick Henry, after which the Crimson Tide kicked deep.
They did not get the ball back until 62 seconds were left to play and on the first play following the punt McCarron was sacked and fumbled the ball away. Oklahoma's Geneo Grissom returned the fumble eight yards to clinch the victory.
Oklahoma recorded a season-high seven sacks and twice intercepted McCarron, the runner-up in this season's Heisman Trophy balloting.
Knight completed 32-of-44 passes with one interception. Jalen Saunders caught two of the scoring throws and Shepard had a rushing touchdown in addition to his receiving score.
McCarron went 19-of-31 for 387 yards and two touchdowns with 139 of those passing yards going to DeAndrew White.
Both teams finished the season at 11-2 with Alabama's losses coming in their final two games of the campaign.