The Hawkeyes (12-10, 4-4 Big Ten) trailed by as many as 14 in the first half and were down 48-37 with 13:32 left before handing the Wolverines (16-7, 4-4) a loss that might end up hurting their chances of making the NCAA tournament.
Michigan's Courtney Sims scored a season-high 29 points, Ron Coleman had 12 and the rest of the Wolverines were held to fewer than seven points. Dion Harris, who was averaging a team-high 13.1 points, was held to one point on 0-for-11 shooting.
Tony Freeman scored 14 for the Hawkeyes, and made a three-point play with 48 seconds left after Michigan pulled within a point.
Iowa took over the game with a 20-1 run, holding the Wolverines scoreless during a 5 1/2-minute stretch, and took its first lead on Haluska's 3-pointer with 8:36 to go.
Michigan started strong and seemed set to end the night alone in fourth place in the Big Ten. Instead, the Wolverines fell to the middle of the muddled conference with their third loss in a row.
It doesn't get any easier for Michigan, which is trying to make the NCAA tournament for the first time since 1998, with two games left against Ohio State and Michigan State.
Sims started strong, showing his potential in what has been an inconsistent career. The senior center scored Michigan's first seven points and by the time he took a break late in the first half, he was outscoring Iowa 15-12 and the Wolverines led by 13 points.
Haluska didn't have a field goal until late in the first half, but the Big Ten's leading scorer finished strong and the Hawkeyes kept their winning record overall and moved to .500 in the Big Ten.