Spartans quarterback Rocky Lombardi was the star, going 17-32 for 323 yards and three touchdowns and zero interceptions.
After getting throttled last week at home by Rutgers 38-27, Sparty bounced back averaging 6.4 yards per play on the road without a turnover, while holding UM quarterback Joe Milton and the Wolverines offense to just 5.3 yards per play via six tackles for loss.
Milton was 32-51 for 300 yards but had zero touchdowns, although there were no turnovers for either side in the game.
Michigan State as a team had 38 rushes for 126 yards, and sealed it with an 11-play, 92-yard touchdown drive that ended with a 13-yard TD reception from Lombardi to Connor Heyward with 5:11 remaining. It put the Spartans up 10 points, who then forced Michigan to eat far too much time on their ensuing 18-play, 93-yard drive that took 4:34, and left only 37 seconds left.
A failed onsides kick all but sealed it, and one of the biggest upsets in the history of the 113-game series was complete.
Next Saturday Michigan State heads to Iowa City to face the Iowa Hawkeyes, while Michigan is off to Bloomington to take on the upstart Indiana Hoosiers.