As No. 6 West Virginia's offense turned anemic, host Iowa State seemed to be the team possessing all the weapons Saturday.
Freshman Brock Purdy tossed three touchdowns, outplaying Mountaineers quarterback and Heisman hopeful Will Grier, and the Cyclones dominated throughout in a 30-14 upset.
Iowa State running back David Montgomery, who missed last week's game at Oklahoma State, returned to rush for 189 yards on 29 carries.
Hakeem Butler made six catches for 107 yards and a score.
JaQuan Bailey made two sacks for the Cyclones, whose fans stormed the field afterward.
Grier finished 11-for-15 passing for 100 yards, a distant cry from his 363-yard average per game. West Virginia gained only 152 total yards and finished 1 of 10 on third downs. The Mountaineers came in averaging 41 points per game but needed a special-teams score just to reach double digits.
Purdy went 18 of 25 for 254 yards, directing the Cyclones to a Top 25 upset for the second time in eight days.
After falling behind early, the Cyclones reeled off 20 unanswered points on touchdown drives spanning 65, 53 and 59 yards. Purdy threw a 4-yard scoring pass to Butler and a 19-yarder to Charlie Kolar that overcame a third-and-16 situation. Montgomery also ran in a 2-yard touchdown but Connor Assalley missed the extra point attempt.
Iowa State was threatening again when West Virginia cornerback Josh Norwood picked off a tipped pass near the goal line, but a replay overturned the interception. It became a blessing in disguise for the Mountaineers, who blocked the ensuing field-goal try, resulting in a 72-yard scoop-and-score return for Derrek Pitts that closed the deficit to 20-14.
After Purdy was intercepted by Dravon Askew-Henry on Iowa State's second series, West Virginia marched in from 44 yards out. Grier hit David Sills for an 18-yard touchdown, which turned out to be the only third-down conversion of the game for the Mountaineers.