The victory snapped a two-game losing streak for the Hawkeyes (11-9, 3-3 Big Ten), while Penn State dropped its fifth in a row and sixth straight to the Hawkeyes.
After trailing nearly the entire first half, Iowa turned things around in the second half, shooting 65.4 percent from the field and putting up 51 points -- its second most productive half of the season.
A 3-pointer by Haluska, the Big Ten's leading scorer, at the 13:15 mark put Iowa up 45-37, at the time its biggest lead of the game.
Penn State (10-9, 1-5) cut the lead to five with 9:43 remaining when Geary Claxton cashed in a fast-break layup. But the Hawkeyes answered when Smith scored on a layup and hit the ensuing foul shot. Then after two missed free throws by Jamelle Cornley, Haluska nailed another 3-pointer to put Iowa up by 11 and maintained double-digit leads the rest of the way.
Iowa also got 12 points, three assists and two steals from Mike Henderson, whose turnovers and lack of production brought criticism from coach Steve Alford in losses last week at Indiana and Ohio State.
Claxton led Penn State with 20 points on 7-of-16 shooting. Cornley scored 16 and had a game-high 11 rebounds, while freshman Milos Bogetic added 13 points.
Despite winning the rebound battle 44-32, the Nittany Lions failed to cash in due to poor shooting. The Nittany Lions shot 35 percent for the game and hit just 9-of-17 free throws in the second half.
The Hawkeyes got off to a miserable start, played nearly five minutes without scoring a point and trailed most of the first half. Iowa grabbed a brief 9-7 lead at the 12:32 mark when Haluska hit a 3-pointer. Then Penn State took control, outscoring Iowa 18-10 over the next seven minutes.
The Nittany Lions grabbed their biggest lead of the half when Claxton scored on a short baseline drive to give Penn State a 25-17 with 5 minutes left.
But the Hawkeyes stiffened defensively and closed out the half with an 11-2 run. Haluska's buzzer-beating put-back off a Tony Freeman miss gave Iowa a 28-27 lead at the break.