Caris LeVert added 17 points for the surging Wolverines (15-4, 7-0 Big Ten), who notched a third consecutive victory over a Top 10 opponent, following wins over Wisconsin and Iowa.
Michigan sealed the victory with a 10-0 run capped by a 3-point play from Walton after trailing by two points with 4 minutes remaining.
Gary Harris scored 27 points for the Spartans (18-2, 7-1), who had their 11-game winning streak broken.
Alvin Ellis III put in 12 points and Keith Appling added 10 for MSU.
Ray Liotta sues skin care company over use of likeness
Boston schools pull out free condoms over wrapping complaints