It was the win for the Wolverines in Columbus since 2003 and built some momentum heading into tough tests against Wisconsin and Michigan State later this month.
Nik Stauskas led the 10th-ranked Wolverines (18-6, 10-2 Big Ten) with 15 points and freshman Derrick Walton notched a double-double with 13 points and 10 rebounds.
Zak Irvin came off the bench to score 10 points for Michigan, including a pair of 3-point shots.
LaQuinton Ross led Ohio State (19-6, 6-6) with 24 points. Lenzelle Smith scored 13 and was the only other Ohio State player in double figures.
Ohio State led 30-26 at halftime but hit a long scoreless stretch in the second half while Michigan sank six free throws in the final minute of play to keep the game out of reach.