Brock Purdy threw for 307 yards and two touchdowns, the defense stopped Oklahoma State inches short on a fourth-and-2 late in the game, and the Cyclones beat the No. 8 Cowboys 24-21 on Saturday.
“I’m just so happy for our team,” Purdy said. “It just felt good to finish it the right way.”
The Cyclones (5-2, 3-1) won their third straight to improve to 16-2 in October since 2017, and they won their ninth Big 12 home game in a row, the longest streak of its kind in the league.
Oklahoma State (6-1, 3-1) saw its eight-game win streak end, and it lost in Ames for the first time since 2011.
Iowa State, Oklahoma State and Baylor are bunched in a three-way tie for second in the Big 12 behind Oklahoma (8-0, 5-0).
It was the seventh straight Oklahoma State-Iowa State game decided by seven points or less.
“It was a really hard-fought game,” Cowboys coach Mike Gundy said. “When two football teams go against each other, you’re going to exchange blows.”
Iowa State’s defense stopped Oklahoma State twice in the final five minutes.
Will McDonald made back-to-back sacks to snuff the Cowboys’ series that followed Breece Hall’s 4-yard, go-ahead touchdown with 5:29 left.
Oklahoma State’s final possession reached the Iowa State 45. On fourth-and-2, Spencer Sanders passed to Brennan Presley, but Isheem Young and Kym-Mani King combined to keep Presley inches short with 1:09 left.
The spot of the ball stood after a video review.
“The character of this game is what we’ve talked about,” Cyclones coach Matt Campbell said. “It’s not always going to be pretty. It’s not always going to be easy.”
Purdy kneeled twice in victory formation, and fans stormed the field at Jack Trice Stadium as the clock ran out to celebrate Iowa State’s first win over a top-10 opponent since 2018.
“It was super fun,” Cyclone receiver Xavier Hutchinson said of the postgame scene. “It wasn’t necessarily why you play the game, but it was (one of) the pros to playing the game.”
Purdy completed 27 of 33 passes, and Hutchinson had a career-best 12 catches for 125 yards and two touchdowns.
Sanders went 15 for 24 passing for Oklahoma State, finishing with 225 yards and three touchdowns.
Iowa State led 17-14 in the fourth quarter and was driving to extended its lead until Malcolm Rodriguez and Jarrick Bernard-Converse stuffed Purdy on a fourth-and-2 run at the Cowboys’ 42.
Four plays later, Tay Martin caught a 25-yard touchdown pass to put the Cowboys up 21-17.
Purdy need six plays to guide Iowa State 85 yards. Hall extended to 19 his Big 12 record for consecutive games with a rushing touchdown.
Presley caught two touchdown passes in the first half and finished with 84 receiving yards.
His first touchdown came on a 5-yard toss from Sanders, giving Oklahoma State a 7-0 lead. On his second TD, the 5-foot-8 Presley leapt over two defenders and landed in the end zone, putting the Cowboys up 14-7 at half.
Hutchinson scored Iowa State’s lone touchdown of the first half on a 1-yard pass from Purdy.
Hutchinson appeared to score on a 54-yard pass early in the third period, but he was penalized for unsportsmanlike conduct for taunting before he reached the end zone.
That placed the ball on the Oklahoma State 18, and three plays later Hutchinson caught a tying 9-yard touchdown pass, stopping in the back corner of the end zone to blow a kiss to fans.
“It wasn’t really a ‘going to get them back’ sort of deal,” Purdy said of passing to Hutchinson after the penalty. “We had a one-on-one matchup.”
Oklahoma State: The Cowboys’ defense had no answer for Hutchinson, who took advantage of mostly man coverage, and the offense converted only 2 of 10 third downs.
Iowa State: The Cyclones won their third straight game and first over a top-10 opponent since they beat then-No. 6 West Virginia on Oct. 13, 2018.
Iowa State probably will be back in the Top 25 after a four-week absence. Oklahoma State, which had won four one-score games this season, likely will fall out of the top 10.
Oklahoma State hosts Kansas on Oct. 30.
Iowa State visits West Virginia on Oct. 30.