Hubert's 9-yard run with 7:27 left in the game put the Wildcats ahead 24-13.
Kansas State (4-0, 1-0 Big 12) had taken the lead just 6 minutes earlier on a 5-yard touchdown run by Collin Klein and went on to notch its first victory in Norman since 1997.
Klein completed 13-of-21 passes for 149 yards and also ran the ball 17 times for 79 yards with the go-ahead score.
Landry Jones compiled 298 yards with an interception on 28-of-43 passing efficiency for the Sooners (2-1, 0-1 Big 12).
He connected with Sterling Shepard (seven catches, 108 yards) on a 10-yard TD pass with 4:09 left, but OSU could get no closer.