We've made it to the end of the regular season. And despite last weekend's 56-7 whoopin' at the hands of Ohio State, this year has been nothing but a success for Mel Tucker and the Michigan State football program.
The Spartans are already 9-2 on the season, and a win against Penn State today sets them up for a potential New Year's Six bowl game. MSU will be out a number of players due to injuries, but it could have enough depth to outlast a Nittany Lion squad that was once in the top-five but faded at season's end.
Follow along for updates throughout the game.
FINAL: Michigan State 30, Penn State 27
Michigan State gets the job done. The 30-27 win gives the Spartans their 10th win of the season - and a strong contender for a New Year's Six bowl game.
Jayden Reed recovers onside kick
MSU's Jayden Reed recovers the onside kick. Penn State is out of timeouts so this should be it.
Penn State won't go away quite yet
Penn State's 13-play, 77-yard drive took 3:19 and ended with a 15-yard touchdown to Parker Washington with 43 seconds left. The Nittany Lions converted one fourth down on the play. Michigan State 30, Penn State 27, 0:43 4Q
Penn State fumble on kickoff recovered by MSU
When it misery rains, it pours for the Penn State football program.
On the ending kickoff, John Lovett was popped hard by Ma'a Gaoteote, losing the ball in the process and the ball was recovered by Justin White. Michigan State 30, Penn State 20, 5:02 4Q
MSU takes advantage, scores on fourth-and-forever for 10-point lead
Well, MSU ran a very ill-timed jet sweep. But it didn't matter because the Spartans have the Thorne-to-Reed connection.
The Spartans were set up with first-and-10 on the PSU 15 following a 25-yard reception by Connor Heyward. Then, on second down, they got a little too cute and ran a jet sweep to Jayden Reed, who was tackled for an 8-yard loss.
On fourth-and-15 from the PSU 20, Payton Thorne found Jayden Reed on a jump ball in the second for the touchdown and Evan Johnson made the extra point for a 30-20 lead. Michigan State 30, Penn State 20, 5:10 3Q.
PSU fumble recovered by MSU
Penn State just committed its first turnover of the game, and it couldn't have come at a worse time. With 8:29 showing on the clock and the Nittany Lions facing a third-and-1 on its own 49, Keyvone Lee got the ball ripped out of him behind the line of scrimmage by Cal Haladay. It was recovered by Drew Beesley on the Penn State 48. Michigan State 23, Penn State 20, 8:29 4Q.
MSU grabs first down, but punts
Bryce Baringer has been one of the nation's best punters all season, but his latest effort just went 24 yards after MSU's drive stalled at its own 36-yard line.
Penn State takes over on its own 40 with less than 10 minutes to go. Michigan State 23, Penn State 20, 9:24 4Q
MSU defense rises up
What a play by the MSU defense. With 12:43 to go, Penn State was facing a fourth-and-1 on the MSU 22-yard line. Penn Sate called for a rush up the middle to Keyvone Lee - who had run for 6 yards on the previous play - and he was stuffed by linebacker Noah Harvey. Michigan State 23, Penn State 20, 12:43 4Q.
End Third Quarter: Michigan State 23, Penn State 20
Penn State has the ball, second-and-3 at the MSU 40-yard line when play resumes.
Chop-block, holding penalties can't keep MSU out of end zone
This might have been the longest MSU drive these eyes have ever seen, both in time and plays. The Spartans' 15-play, 75-yard drive took 8:53 off the clock and it ended in an MSU touchdown as Payton Thorne kept it on a QB sneak from a yard out.
MSU had actually scored six plays earlier, but a holding penalty by Kevin Jarvis negated the score, and earlier in the drive, the Spartans were called for an illegal chop block. The Spartans got in the goal-to-go situation after Penn State was called for pass interference on third-and-goal from the 13.
Evan Johnson missed the extra point. Michigan State 23, Penn State 20, 2:14 3Q
PSU pick-six puts Nittany Lions ahead
Yeah, not a great two-play sequence from Payton Thorne there. First, there was a deep pass that appeared to be miscommunication with the wide receiver as Thorne went over the top toward the middle of the field but the WR ran a sideline route.
Then, on third-and-7 from the MSU 10, Thorne underthrew Jayden Reed on an out route and Daequan Hardy intercepted it and returned it for a touchdown. PSU missed the extra point, however. Penn State 20, Michigan State 17, 11:07 3Q
PSU punts to open second half
On third-and-8 from the MSU 46, MSU defensive coordinator Scottie Hazelton dialed up a blitz and it worked to perfection as Cal Haladay sacked Sean Clifford to get the Nittany Lions out of plus-territory and force a punt. MSU takes over on its own 7-yard line. Michigan State 17, Penn State 14, 12:00 3Q.
HALFTIME: Michigan State 17, Penn State 14
Michigan State takes a 17-14 lead into halftime after the Spartans decided to just run out the clock following the Penn State missed field goal.
MSU has outgained PSU, 278-211, despite allowing the big plays. Kenneth Walker III has 83 rushing yards and a score, Payton Thorne is 12 of 17 for 168 yards and a touchdown and Maliq Carr has two receptions for 51 yards to lead the Spartans.
"We're just running our offense. ... Everything's out there for us," MSU coach Mel Tucker told ABC sideline reporter Molly McGrath at halftime.
MSU maintains lead after Penn State missed FG
The conditions are not ideal for kicking, and Penn State's Jordan Stout just missed a 27-yard field goal, ending a 10-play Nittany Lion drive. Michigan State 17, Penn State 14, 0:56 2Q.
Lengthy MSU drives ends with Matt Coghlin field goal
Michigan State just strung together a lengthy 15-play, 70-yard drive that stalled at the PSU 5-yard line.
Matt Coghlin hit a 22-yard field goal to give the Spartans a 17-14 lead.
The key play of the drive was on a fourth-and-6 play from the Penn State 35-yard line, as a screen pass to Connor Heyward was good for 19 yards. One play later, RB Elijah Collins caught a swing pass for 11 yards to create the goal-to-go situation. Michigan State 17, Penn State 14, 5:59 2Q
Clifford connects with Dotson a second time, Penn State ties game at 14
Despite the snow pouring down, Penn State still isn't scared to pass against the nation's pass defense. Jahan Dotson capped off a 3-play, 46-yard drive with his second TD catch, finding an open spot in the secondary and hauling in Sean Clifford's 30-yard pass. Michigan State 14, Penn State 14, 12:11 2Q.
Spartans go three-and-out again
The snow is coming down even harder as the Spartans go three-and-out again. Also, Payton Thorne took a pretty solid shot from a Penn State defender on a third-down scramble, but no penalty was called. Michigan State 14, Penn State 7, 12:30 2Q.
End First Quarter: Michigan State 14, Penn State 7
Penn State has the ball back after forcing a Spartan three-and-out, and will face a second-and-13 from its own 39-yard line when play resumes.
Kenneth Walker III already has 66 yards and a touchdown, while Payton Thorne is 7 of 8 for 104 yards and a TD.
Jahan Dotson turns into Randy Moss on Penn State drive
Penn State WR Jahan Dotson had a couple highlight-reel catches on Penn State's ensuing drive, which ended a 6-play, 68-yard drive with a touchdown.
First, Dotson tiptoed the sideline on third-and-12 on the MSU 45 for an 18-yard catch. And on the very next play, Sean Clifford hit Dotson down the right sideline again over MSU's Cover 2 defense for a 27-yard touchdown. Michigan State 14, Penn STate 7, 3:37 1Q.
Spartans strike again, lead Penn State 14-0
The drive started on the 1-yard line, but two long Kenneth Walker runs (35 and 15 yards), followed by a 14-yard pass to Jayden Reed on a flea flicker got the Spartans out of their own end zone.
A few plays later, Payton Thorne hit Reed down the right sideline for 23 yards to make it first-and-goal at the MSU 10-yard line.
On third-and-goal from the 9, Thorne scrambled to his left and found Tre Mosley in the back of the end zone for a two-score lead. Michigan State 14, Penn State 0, 6:09 1Q
MSU forces three-and-out
Penn State had a fourth-and-1 situation at the PSU 47-yard line, but instead of going for it, James Franklin elected to punt it. Xavier Henderson and Maverick Hansen stuffed the line on second and third downs to force the punt. Spartans take over on its own 1-yard line.
The snow is starting to pour down in East Lansing. Michigan State 7, Penn State 0, 10:10 1Q
Michigan State marches down field for TD on opening drive
There doesn't appear to be any injury concerns with running back Kenneth Walker III, who plunged in from 5 yards out to cap off an 8-play, 74-yard drive and give the Spartans a 7-0 lead over Penn State.
The key play on the drive was a 40-yard strike from Payton Thorne to Maliq Carr. That was also the first touchdown Penn State has allowed in the first quarter. Michigan State 7, Penn State 0, 11:22 1Q.
Who's out injured for Michigan State football?
In Friday evening news, it was reported by Stadium's Brett McMurphy that up to 20 Michigan State players would be out either to injuries or a flu outbreak that shot through the team. But at the moment, there doesn't appear to be any surprises.
RB Kenneth Walker, WR Jayden Reed and S Xavier Henderson, all injured last week vs. Ohio State, participated in pregame warmups.
The only new news regarding starters is that TE Tyler Hunt, who wasn't out on the field. LB Quavaris Crouch, LT Jarrett Horst, DT Simeon Barrow, WR Jalen Nailor also didn't participate in warmups. CB Marquis Lowery is out as well, despite hitting the field early for warmups.
All information comes from the Detroit Free Press' Chris Solari.
Pregame Reading Material
Live Twitter Updates
If the thread doesn't show up for you below, click HERE.
Contact digital sports reporter Phil Friend at 517-377-1220 or firstname.lastname@example.org. Follow him on Twitter @Phil_Friend.
This article originally appeared on Lansing State Journal: Michigan State vs. Penn State football: Score, live updates