The Buckeyes were 11-for-12 from the free-throw line over the final three minutes to seal it.
After the Wolverines took a 43-23 lead with 1:31 left in the first half, Ohio State went on a 26-3 run to go up 49-46 with 11:46 remaining in the second half.
Michigan (7-3, 1-1 Big Ten) missed 14 of 15 shots over a stretch of almost 11 minutes that spanned halftime. The Buckeyes (7-3, 2-0) were 11-for-12 over a 10-plus minute stretch during the run.
Michigan regained the lead 60-56 with a 7-0 run, but the Buckeyes outscored the Wolverines 14-2 the rest of the way.
Keita Bates-Diop led Ohio State with 18 points on 5-for-10 shooting. Jae'Sean Tate scored 14 and C.J. Jackson added 17 for the Buckeyes.
Moritz Wagner had 14 points and nine rebounds for the Wolverines.
After a blistering first half, Michigan shot just 37.3 percent from the floor for the game. Ohio State shot 48.9 percent.
Michigan jumped out to a 14-6 lead six minutes into the game and later used a 14-1 run to make it 36-17 with 5:36 to go in the half.
The Wolverines shot 56.7 percent and made seven 3-pointers in the opening 20 minutes. They had a 15-0 advantage in points off turnovers in the first half, but none in the second.
Michigan was just 5 of 29, including 1 of 12 from 3-point range, from the floor in the second half.