Michigan State entered Saturday’s game against Ohio State as a major underdog.

The Spartans entered the final 5 minutes in position to pull off a major upset of the second-ranked Buckeyes.

LJ Scott scored a 1-yard touchdown to cap his own eight-play, 56-yard drive. MSU opted to go for the 2-point conversion, and Tyler O’Connor’s pass was picked off by the Buckeyes’ Malik Hooker.

O’Connor then fumbled and threw another interception in the final 2 minutes as the Buckeyes held on for a 17-16 victory.

The loss officially ends any hope for MSU (3-8, 1-7 Big Ten) to receive a bowl invitation. The Spartans finish their season next Saturday at Penn State, with kickoff time still to be determined.

It was a valiant effort by the MSU defense to attempt to pull off a second straight upset of the Buckeyes (10-1, 8-1). The Spartans held OSU to 310 yards, forced a turnover and got three sacks.

Redshirt freshman running back Mike Weber made sure Ohio State’s hope for a Big Ten East Division title and a potential berth in the College Football Playoff continued.

Weber went around the right side for 52 yards on the first play of the Buckeyes’ third drive of the second half. Three plays later, the Detroit Cass Tech product plowed in for the go-ahead touchdown from 4 yards out, running over MSU safety Montae Nicholson in the process with 5:33 left in the third quarter.

MSU’s defense got a late stop and forced a punt, with the Spartans taking over on their own 20. However, O’Connor was stripped of the ball and recovered his fumble on first down. With the clock moving, he hurried back to the line, threw a pass toward Monty Madaris in double coverage, and Ohio State’s Gareon Conley intercepted it with 1:30 remaining to allow the 22-point favorite to escape with a road win.

Scott finished with 160 yards rushing and 76 receiving yards.

MSU stunned the Buckeyes and ignited the Spartan Stadium crowd quickly. On the second play of the game, O’Connor faked a jet-motion handoff and then a screen pass to R.J. Shelton, then threw back across the field to Scott. The sophomore followed a convoy of blockers, with Benny McGowan and Josiah Price carving a hole. Scott raced 64 yards for a touchdown just 46 seconds into the game.

Ohio State countered with a quick-strike drive of its own. J.T. Barrett accounted for all 50 of the yards on the drive, running for 26 of them and lofting a perfect pass to Curtis Samuel over Demetrious Cox’s coverage for a 24-yard touchdown to tie the game with 7:56 left in the first quarter.

The two teams went back and forth in the cold, windy weather – at times through misty rain, at times through spitting snow. MSU’s defense managed to sack Barrett three times in the opening 30 minutes after not having one in the past 3 1/2 games, the Spartans’ last coming early in the second half at Maryland on Oct. 22.

Scott ripped off a 61-yard run late in the first quarter, giving MSU the ball deep in Buckeye territory. After a trick formation failed to produce any yards on third down at the 11, Michael Geiger booted a 28-yard field goal to give the Spartans a 10-7 lead.

Again, Ohio State quickly countered. Aided by a pair of personal foul calls against MSU, the Buckeyes got into MSU territory before stalling. They had to settle for Tyler Durbin’s 39-yard field goal.

After a turnover by each team, an O’Connor interception and a Weber fumble, the Buckeyes ran out the clock and settled for a 10-10 tie going into halftime – on the 50th anniversary of the Spartans’ legendary game against Notre Dame that ended in the same score in 1966.

Scott had 161 of MSU’s 203 yards of total offense in the half, 97 of them rushing and 64 on the TD catch from O’Connor.