Justin Johnson, a Senior Guard from Tyler, Texas, had 24 points, going 8-13 from long range, to lead all scorers.
The Buckeye's zone defense continually lost Johnson as he spotted up outside the arc.
Coming into the game, Johnson averaged 13 points per game. He had 12 points in the first half, all on three-pointers.
In the first-half, Ohio State (15-7, 6-3) went on an 11-3 run to take an 18-17 lead at the 6:21 mark.
Ohio State did not score a point for the last 4:28 of the half and went into halftime trailing 27-22.
Every time Ohio State got close in the second half Johnson would answer with a three-pointer.
The Buckeyes had many opportunities to get back in the game.
They were only trailing 49-46.
They were 0-6 from the field in the last four minutes and could never put the pressure on the Hawkeyes.
Evan Turner and Jamar Butler both missed good looks from long range that would have tied the game at 49.
Ohio State's inability to hit big shots and Iowa's hot shooting from three-point range led to the Iowa Upset.
Iowa (11-12, 4-6) shot 44% from three-point range, going 11-25. Ohio State was 3-21 from three-point range for 14%.
This is Ohio State's fourth straight loss at Carver-Hawkeye Arena. The loss also snaps a three-game winning streak.
Ohio State goes back home for two games; against Michigan on Tuesday, and Indiana on Sunday.
Iowa hosts Wisconsin on Wednesday night, then travels to Minnesota on Saturday.