Sam Richardson had 255 yards passing and 2 TDs for the Cyclones (1-2), who beat the rival Hawkeyes (2-1) for the third time in four tries.
Netten appeared to miss his first try at the game-winner, but Iowa had already called a timeout.
Netten's second attempt went straight through the uprights.
Jake Rudock threw for 146 yards and an interception for Iowa, which was held to just three points after halftime.
Down 14-3 midway through the third quarter, Iowa State found itself in desperate need of a spark.
T.J. Mutcherson gave the Cyclones life with their first takeaway of the season, intercepting Rudock and returning it to the Iowa 32. Richardson then found E.J. Bibbs with a jump pass on 4th and inches to pull Iowa State to 14-10 with 6:50 left in the third quarter.
Koehn's game-tying kick was just his third made field goal in six tries.
But the Cyclones, who were held scoreless in the second half of their first two games, drove 51 yards to set up Netten's winning kick.
Iowa State outgained Iowa 337-275.
The Hawkeyes were determined to get their surprisingly sluggish running game going behind their star left tackle.
The effort produced just 25 yards rushing in the first quarter. But the Hawkeyes went ahead 7-0 anyway on Mark Weisman's 1-yard TD leap.
Iowa was then faced with a 4th-down-and-8 at the Cyclones 16-yard line late in in the first half. But after missing three field goals from inside 40 yards last week, Iowa went for it. Rudock scrambled for space and found Jacob Hillyer for a first down, and then ran 5 yards for a touchdown and a 14-3 Iowa lead.
The Cyclones answered with their best drive yet.
Then they blew it at the end.
That turnover, along with an interception that cornerback Sam E. Richardson dropped on the previous drive, sapped the Cyclones of any momentum heading into halftime.
But after crumbling in the second half of its first two games, Iowa State outplayed the Hawkeyes in the second half.
Nealy made up for his earlier blunder, and Netten connected on the biggest kick of his career.
Follow Luke Meredith on Twitter: www.twitter.com/LukeMeredithAP