It was a game the reeling Hawkeyes had to have.
Senior Roy Devyn Marble made sure they didn't blow it.
Marble scored 21 points with five assists, four steals and no turnovers and No. 20 Iowa snapped a three-game losing streak by beating Purdue 83-76 on Sunday.
Aaron White and Mike Gesell added 15 points each for the Hawkeyes (20-9, 9-7 Big Ten), who have recorded consecutive 20-win seasons for the first time in eight years.
Iowa blew a 13-point halftime lead, but an 8-0 run put the Hawkeyes back ahead 68-64 with 5:56 left, and Gesell hit five free throws in the final 41 seconds.
But it took yet another huge effort by Marble for the Hawkeyes to narrowly avoid losing their fourth home game in five tries.
"He's carrying this team. His consistency is amazing at both ends of the floor. He doesn't rattle," Iowa coach Fran McCaffery said of Marble. "I think what you're seeing is a guy that is playing with a great level of confidence due to the fact that he's taking full advantage of his experience."
Rapheal Davis scored a career-high 18 points and A.J. Hammons had 16 points with 14 rebounds for Purdue (15-14, 5-11), which is on its second four-game losing streak in conference play.
The Boilermakers committed 16 turnovers, and a number of them came in crucial moments in the second half.
"We just have to do a better job of, when we get key opportunities, taking care of the ball," coach Matt Painter said.
The Hawkeyes closed the first half on a 15-5 run and appeared to be just a few plays away from burying the Boilermakers.
Purdue responded with a spurt that threatened to send Iowa tumbling to its fourth straight loss.
The Boilermakers outscored Iowa 27-10 to open the second half, as the Hawkeyes again suffered through the defensive woes that marked road losses at Minnesota and Indiana.
White steadied Iowa with a rare 3-pointer and two free throws, and the Hawkeyes held Purdue without a point for over 6 minutes in building a 68-64 lead. Marble then attacked Hammons in the paint for a crucial three-point play toward the end of the shot clock that gave Iowa a 75-70 lead with 2:39 to go.
"That was gut-check time. 64-60. What's it going to be? Is it going to be another close game like the other ones? Are we going to execute down the stretch, or are we going to turn the ball over and not get stops?" White said. "We executed. Got to the line, made our free throws and we needed that."
Sunday's game capped a stretch of four games in eight days for the Hawkeyes, who followed a scheduled bye week with another game forced upon them by a postponement at Indiana.
Iowa didn't exactly respond well to its scheduling adversity.
The Hawkeyes lost 79-74 at home to Wisconsin before the defeats against the Gophers and Hoosiers - who are both below .500 in the Big Ten.
Purdue was coming off a brutal overtime loss to league-leading Michigan, as Glenn Robinson III banked in the game-winner at the buzzer.
Both teams looked like they were worn out early. But the Hawkeyes got a boost from their bench, which scored 15 points in the first half, and Marble followed a fadeaway 3 with a layup to help put Iowa ahead 50-37.
The Boilermakers needed less than 5 minutes to get the deficit down to 52-49 - a run that sandwiched a stern tongue lashing from McCaffery to the Hawkeyes - and a 3 by Kendall Stephens tied it at 60 with 12:25 left.
But Purdue allowed Iowa to finish the game on a 23-12 run.