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.
Members of Congress to keep receiving porn magazine
Rosie O'Donnell unveils nearly 50-pound weight loss