Deshaun Thomas sparked a big second half, scoring 12 of his 14 points, and Evan Ravenel added 10 with five rebounds for the Buckeyes (20-7, 10-5 Big Ten).
Ohio State notched an eighth straight 20-win season under Coach Thad Matta.
Adreian Payne scored 12 points and grabbed 15 rebounds for the Spartans (22-6, 11-4), who dropped a second consecutive game.
The loss put them two games behind Big Ten leader Indiana with three contests remaining.
Gary Harris also reached double figures with 14 points for MSU.