Michigan State deflated the College Football Playoff hopes of Northwestern and earned just its second win of the season on Saturday, defeating the Wildcats 29-20 at Spartan Stadium.

Northwestern (5-1) had won its previous four games by a total of 26 points. But after taking a 20-17 lead early in the fourth quarter, the Wildcats went nowhere on offense and, surprisingly, succumbed to turnovers and mistakes.

Matt Coghlin hit his third field goal of the game from 48 yards to give MSU (2-3) a 23-20 lead with 3:35 left in the game. NU went 3-and-out on the next drive and punted, then the Spartans killed off some clock. The Spartans punted it back with 25 seconds left and NU couldn’t get close enough to try a tying field goal. In fact, a multi-lateral play resulted in a fumble that MSU recovered in the end zone for a touchdown as the clock expired.

Northwestern, 8th in last week’s initial College Football Playoff rankings, had won in East Lansing in each of the previous three meetings.

Michigan State cornerback Shakur Brown came up with his second interception of the day with 6:22 left in the fourth quarter, stepping in front of Peyton Ramsey’s pass intended for Berkeley Holman. The receiver was carted off the field after the play; he appeared to take a helmet-to-helmet hit.

The Wildcats took the lead early in the fourth quarter when running back Cam Porter took a direct snap and bulled through the middle of the line for a 3-yard touchdown, putting Northwestern ahead 20-17.

On the next drive, Wildcats linebacker Paddy Fisher intercepted Rocky Lombardi, who until that point had avoided the mistakes that had plagued his season.

But on the next play, receiver Kyric McGowan fumbled on an end around and MSU recovered to get the ball right back. That set up Coghlin’s tying 44-yard field goal with 10:11 left.

The Wildcats started the second half with a boost, driving 75 yards in 10 plays capped by Ramsey’s 1-yard touchdown run. That got NU within 17-13.

Ramsey was 13-of-26 for 122 yards and an interception in the first half and the Wildcats ground game (45 yards on 17 carries) didn’t help. NU was gaining a reasonable 144 yards per game rushing coming in but the Wildcats have not been efficient on the ground, picking up just 3.4 yards per carry before Saturday.

MSU came into the game 124th in the nation in scoring (15.3 points per game) and rushing (73.8 yards per game), 116th in total offense (323.8 ypg) and 50th in passing (250 ypg). Northwestern came in ranked 15th in the country in total defense (314.6 ypg) and 4th in scoring defense (12.6 ppg), second in the B1G behind Wisconsin in both categories.

But the Spartans exceeded their per-game scoring average in the first 15 minutes and 5 seconds of game time, taking a 17-0 lead.

Lombardi hit Jayden Reed near the corner of the end zone for a 15-yard touchdown on the first play of the second quarter to cap an 85-yard drive for a 17-0 Spartans lead. The Spartans’ offensive burst slowed down after that and NU started to crawl back into the game.

Northwestern got on the board after converting on 4th and 2 in MSU territory; that led to Charlie Kuhbander’s 42-yard field goal with 11:02 left in the second quarter to close the gap to 17-3. Kuhbander also made a 32-yarder later in the second quarter.

The Spartans stunned the Wildcats early. Lombardi hit wide receiver Jalen Nailor for a 75-yard touchdown just two plays after MSU stopped Northwestern on a 4th-and-1 play. On the next NU drive, Brown picked off Ramsey and returned it 54 yards to the Wildcats 11-yard line. That set up Coghlin’s 22-yard field goal for a 10-0 lead.