NORMAN, Okla. — Kyle Kempt passed for 343 yards and three touchdowns, including a 25-yarder to Allen Lazard that put Iowa State ahead with 2:19 left and Joel Lanning made plays on offense and defense to lead the Cyclones to a stunning 38-31 victory over No. 3 Oklahoma on Saturday.

The loss snapped Oklahoma's nation-leading 14-game winning streak and the Sooners' 18-game run against the Cyclones that dated to 1990. It was just Iowa State's second victory over Oklahoma since 1961, and the Cyclones (3-2, 1-1 Big 12) did it without their starting quarterback.

Kempt, the senior who had thrown just two passes in his career before Saturday, played because regular starter Jacob Park went on leave for undisclosed personal medical reasons late this week. The Cyclones remained confident, despite having lost 20 straight against ranked opponents. Iowa State's last win over a Top 25 team came against TCU in 2012. It was Iowa State's first road win over a Top 5 team.

"We came in telling our whole team you have to believe for four quarters," Lanning said. "Believe you can beat a Top 5 team in the country. That's what we did today."

Lanning, who switched from quarterback to linebacker in the offseason, played both positions Saturday. According to the Des Moines Register, he's the first Iowa State player since 1971 to get significant action both ways in a game. He ran for 35 yards, passed for 25 and had eight tackles, a sack and a fumble recovery. He played 78 snaps.

"It was fun," Lanning said. "Coming into an atmosphere like this, you can't ask for anything better — especially playing both ways. It was fun. I can't say enough about my teammates and what they did to help me out. It was a lot of stuff going on for me. I didn't have my best game defensively, but we got the win."

Baker Mayfield passed for 306 yards and rushed for 57 the Sooners (4-1, 1-1). It was Lincoln Riley's first loss as head coach.

The Cyclones gained 449 yards and got into a rhythm after struggling early.

"We should have been better than that today," Oklahoma defensive coordinator Mike Stoops said. "Some of the old scars kind of repeated themselves today. Our execution as a whole was not good enough. That falls on us as coaches. We haven't played well the last couple of well. We are just not making enough plays, and if you do that in this league you're going to come out on the short end of the stick."

THE TAKEAWAY

Iowa State: The Cyclones, heavy underdogs, didn't need tricks or a slew of takeaways to beat the Sooners. Iowa State got back in the game with 21 straight points to take the lead after falling behind 24-10.

Oklahoma: It was the second straight game that the Sooners didn't dominate as expected. Though Oklahoma's offense purred as usual, the defense struggled against a team that scored just seven points against Texas with Park. Oklahoma also struggled in a 49-41 win over Baylor two weeks ago. The defense that looked dominant in nonconference play has been leaky during Big 12 action.

"It's just how it's going right now," Stoops said. "We're not executing well enough. Whether we have too much in or not enough in for players to be able to do their jobs well and do it confidently — we certainly have to look at that as well."

UP NEXT

Iowa State: Hosts Kansas on Saturday.

Oklahoma: Plays Texas in Dallas on Saturday. The Sooners often have struggled with the Longhorns, regardless of the teams' records.

___

Follow Cliff Brunt on Twitter: www.twitter.com/CliffBruntAP

___

More AP college football: http://collegefootball.ap.org and http://www.twitter.com/AP_Top25