Drew Stevens hit a 21-yard field goal with 28 seconds remaining to give Iowa a 13-10 win over Minnesota in Big Ten play on Saturday at Minneapolis.
Spencer Petras went 15-of-24 passing for 221 yards for Iowa (7-4, 5-3), which has won four straight games.
Mohamed Ibrahim rushed for 263 yards and a touchdown on 39 carries for Minnesota (7-4, 4-4).
Minnesota had a chance to win late in regulation, but facing a third-and-7 from the Iowa 33-yard line, Iowa linebacker Jack Campbell picked off Minnesota quarterback Athan Kaliakmanis and returned it to the Minnesota 45-yard line with 2:06 remaining.
On the next play, Petras hit Luke Lachey for a 33-yard gain down to the Minnesota 12-yard line.
Iowa eventually worked it down to the 3-yard line, where on fourth-and-1, trotted out Stevens for the game-winning kick.
Minnesota was stopped on downs on its last possession to end the game.
Iowa opened the scoring with 9:01 remaining in the first quarter, taking a 3-0 lead on a 38-yard field goal by Stevens.
The Hawkeyes then took a 10-0 lead with 42 seconds remaining in the first quarter on a 1-yard touchdown run by Petras, which capped off a 12-play, 66-yard drive that lasted 6:19.
Minnesota answered in the second quarter, cutting Iowa's lead to 10-7 with 10:24 remaining in the second on a 5-yard touchdown run by Ibrahim, which finished off a nine-play, 72-yard drive that took 5:13 off of the clock.
The Golden Gophers then tied the game at 10-10 with 8:20 remaining in the third quarter on a 27-yard field goal by Matthew Trickett.
Minnesota outgained Iowa, 399-280, and possessed the ball for 35:16. But the Golden Gophers had two turnovers, while the Hawkeyes had none.
Kaliakmanis completed 7 of 15 passes for 87 yards.
--Field Level Media