Vandenberg passed for 273 yards, and McNutt caught nine passes for 151 yards.
Marcus Coker rushed for 139 yards on 30 carries for the Hawkeyes (7-4, 4-3 Big Ten), who had lost their three road games by a combined 14 points.
The Hawkeyes outgained the Boilermakers 408 yards to 286 but struggled to put away scrappy Purdue.
The Boilermakers (5-6, 3-4) need to win Saturday at Indiana to become bowl-eligible.
Iowa scored on its first possession with a 26-yard touchdown pass from Vandenberg to McNutt.
Iowa answered when Vandenberg found C.J. Fiedorowicz for a 5-yard touchdown pass to make it 14-7.
Purdue's Carson Wiggs considered a fake punt but decided to kick while running instead. It was blocked by Collin Sleeper, and Iowa recovered at the Purdue 9. The Boilermakers caught a break when Mica'il McCall fumbled on the second play of Iowa's possession, and Purdue's Will Lucas recovered.
After an exchange of punts, Marve stepped in at quarterback for TerBush and led the Boilermakers down the field. But Tanner Miller intercepted Marve at the Iowa 1-yard line.
On the next play, Vandenberg dropped back into his end zone and was pressured by Dwayne Beckford. Vandenberg fumbled as he was going down, and Purdue's Brandon Taylor recovered in the end zone to tie the score at 14.
Iowa took a 21-14 halftime lead on a 2-yard touchdown run by Coker with 31 seconds left in the second quarter. The Hawkeyes outgained the Boilermakers 257 yards to 117 and held the ball for more than 19 minutes in the first half.
Iowa's Mike Meyer kicked a 38-yard field goal, and then Vandenberg connected with McNutt again for a 51-yard touchdown on the first play of the fourth quarter to give Iowa a 31-14 lead.
Ralph Bolden's 11-yard touchdown in the fourth quarter after TerBush returned to the game cut Iowa's lead to 31-21.
Marve re-entered the game on a fourth-and-18 situation and completed a 22-yard pass to Edison. He closed the drive with what looked like a touchdown run, but he fumbled into the pylon for a touchback, and Iowa took over.
Follow Cliff Brunt on Twitter: www.twitter.com/cliffbruntap
Scott Van Pelt and Stanford Steve look back at "bad beats" from Week 13 in college football.
Michigan State quarterback Connor Cook joins Scott Van Pelt to discuss the Spartans' season and their chances of making the College Football Playoff.
USC named Clay Helton its permanent football coach on Monday, just days after he led the Trojans to the Pac-12 South championship.
SEC Network's Clint Stoerner and Matt Stinchcomb discuss how LSU football will move forward with Les Miles as head coach.
Florida head coach Jim McElwain gives his take on Alabama running back Derrick Henry during a press conference.
SEC Network's Maria Taylor, Dari Nowkhah, Matt Stinchcomb and Clint Stoerner discuss memorable moments from Week 13 of SEC football.