Austen Arnaud threw for 224 yards to lead Iowa State, which missed three field goals on a day when points were at a premium.
Iowa quarterback Jake Christensen, who had lost the starting job to sophomore Ricky Stanzi, came off the bench late in the third quarter after Stanzi's second interception of the day. But it was Greene who led the way for the Hawkeyes, following a 20-yard run with a 5-yard touchdown up the middle to give Iowa a 10-3 lead early in the fourth quarter.
The Cyclones next drive stalled in Iowa territory and freshman Grant Mahoney missed his third field goal of the day, a 46-yarder. Brodell followed with his first career punt return for a touchdown, pushing Iowa's lead to 17-3 with 6:19 left.
The Cyclones answered by driving to the Iowa 1, but freshman Shaun Prater broke up a pass in the end zone. Iowa traded a safety for field position with 28 seconds left, and Amari Spievey picked off Arnaud to seal the win.
Iowa State held the ball for 11:24 in the third quarter, but could only manage three points and a 3-3 tie heading into the fourth.
Iowa State reached the Iowa 20 on the opening drive of the second half, but Tyler Sash picked off Arnaud in the end zone. The Cyclones got it right back at the Hawkeyes 26, this time off a shanked punt, but Mahoney banged a 21-yard field-goal try off the left post.
Stanzi's second pick of the day set up Mahoney for a 43-yarder that tied it up with 25 second left in the third quarter.
Stanzi, making just his second career start, was 5-of-14 passing for 95 yards.
The Iowa City area got about two inches of rain between Friday afternoon and kickoff. Though it hardly rained at all during the game, the wet grass left players from both teams stumbling left and right.
The footing seemed particularly bad in the first half, with Iowa grabbing a 3-0 by the break.
Trent Mossbrucker hit a 26-yard field on the game's opening drive to give the Hawkeyes the lead.
Alexander Robinson ran for 61 yards for Iowa State, which still hasn't won a road game under second-year coach Gene Chizik.