Clayton Thorson threw a 22-yard touchdown to Flynn Nagel in the third overtime, Nate Hall intercepted Brian Lewerke and Northwestern beat No. 16 Michigan State 39-31 on Saturday.
The Wildcats had a third down at the 22 when Thorson hit Nagel on a slant for the go-ahead TD.
Cameron Green caught the two-point conversion to make it an eight-point game, and two big plays by the defense preserved the victory.
Lineman Joe Gaziano stripped Brian Lewerke as he dropped back. Lewerke picked up the loose ball and fired toward the goal line, where Hall intercepted a pass intended for Matt Sokol.
That set off a wild celebration, with the sideline emptying and fans pouring out of the stands. The win was the third straight for the Wildcats (5-3, 3-2 Big Ten) and their second in overtime in as many weeks.
Michigan State (6-2, 4-1) came up short after winning four in a row.
Thorson threw for 356 yards and two touchdowns. Jackson had 41 yards rushing and 51 receiving. But the star running back threw for a touchdown early in the fourth quarter on his first career pass.
Nagel added 87 yards receiving, and Cameron Green had 76 yards and a TD catch.
Lewerke threw for 445 yards and four touchdowns. Cody White had 165 yards receiving and two TDs. But instead of heading into next week's home game against No. 2 Penn State unbeaten with a perfect conference record, the Spartans came up short facing a resurgent team.
After Michigan State deferred to start the first OT, Thorson threw a 14-yard touchdown to Green.
Lewerke then hit Felton Davis with a 6-yarder to tie it and gave the Spartans a 31-24 lead with an 11-yarder to White. But Jackson tied it again with a 3-yard run for his 38th career touchdown, tying Damien Anderson's program record.
Jackson also gave Northwestern a 17-10 lead early in the fourth. He took a handoff from Thorson and threw a wobbly 12-yard touchdown to Bennett Skowronek in the back of the end zone.
Michigan State's Matt Coghlin hit the right upright attempting a 32-yard field goal with about six minutes left in regulation. But the Spartans got another chance.
Lewerke scrambled for 5 yards on a fourth-and-4 from the 30 and threw a 13-yard touchdown to Felton Davis III in the left corner of the end zone to tie it with 25 seconds left in regulation.
Michigan State: The Spartans could have really made things interesting in the Big Ten with back-to-back games against No. 2 Penn State and No. 6 Ohio State coming up.
Northwestern: The Wildcats squeezed out another tight win and once again seem to be hitting their stride after a slow start.
Michigan State: Hosts Penn State on Nov. 4.
Northwestern: Visit Nebraska on Nov. 4.