Terrail Lambert scored the winning TD on a 27-yard interception return with 24 seconds left in the game.
Brady Quinn threw for 319 yards and five touchdowns against one interception for the Fighting Irish (3-1), who were behind 37-21 going into the final quarter.
Notre Dame forced three turnovers in the final period.
Michigan State (3-1) surged to a sizeable lead during a driving rainstorm in the third quarter, but Quinn threw 43 yards to Jeff Samardzija for a touchdown with just over eight minutes left.
Notre Dame then recovered a fumble deep in Spartan territory and Quinn hit Rhema McKnight from 14 yards out for another TD with 4:57 left, but Carl Gioia missed the extra point.