In a closely played game early Saturday, Michigan State looked like it was set to go up two scores in the second quarter.
The Buckeyes scored on their next play and again on their next drive on a pair of long pass plays, starting a 28-3 run to roll to a 49-37 win on Saturday.
The loss all but ended the Spartans’ playoff hopes, as they dropped to 7-2.
Redshirt freshman quarterback J.T. Barrett threw for three touchdowns and 300 yards on 16 of 25 passing and ran for two more scores. Running back Ezekiel Elliott added two rushing scores and 154 yards rushing on 23 attempts.
Connor Cook threw for 358 yards for the Spartans with two touchdowns. Jeremy Langford added three scores and 137 yards on 18 carries.
Michigan State went down field in just five plays as Cook hit Keith Mumphery for a big 44-yard gain into the red zone. Three plays later, Cook hit Mumphery in the flat and he broke a tackle and ran in for a 16-yard touchdown.
Behind a 19-yard and a 47-yard run from Ezekiel Elliott, Ohio State came back to tie it in just 1:01 on four plays as Barrett ran in from five yards out.
The Spartans got moving the wrong way on the next drive with a holding penalty on Travis Jackson and an illegal formation. Cook was sacked on third-and-25, forcing a punt, but Mike Sadler’s punt hit an Ohio State player and Chris Frey recovered it at the OSU 33.
Langford broke through a big hole to his left on the next play for a score to put MSU back up 14-7.
Ohio State moved the ball down the 22-yard line before the drive was halted. Shilique Calhoun burst off the edge to take down Elliott for a five-yard loss and then offensive tackle Taylor Decker was called for illegal hands to the face – bringing back a first-down pass from Barrett to Smith. Facing a third-and-29, Michigan State safety Demetrious Cox came flying in untouched and hit Barrett, who threw the ball away and drew an intentional grounding flag.
Michigan State went three-and-out, as Tony Lippett dropped Cook’s third-down pass. OSU started the wrong way with a penalty and another penalty – sandwiching an MSU defensive offsides penalty on Malik McDowell – and Barrett was sacked by Joel Heath for an eight-yard loss. But on third-and-23, Barrett hit Devin Smith with a perfect throw over the shoulder on a fade for 43 yards and a first down.
A Jalin Marshall put the Buckeyes at the MSU 7, but the Spartans stopped the Buckeyes on three straight plays. On fourth-and-1, Barrett pushed it in for a touchdown and a 14-14 game.
Michigan State responded on the back of Cook, who ran for three first downs on the drive – all on third down. He set up the Spartans at the OSU 1 with a seven-yard run on first-and-goal and Langford capped it with a one-yard touchdown run to give MSU a 21-14 lead.
Then Langford looked like he had his third touchdown of the game, but it was called back on Allen’s holding penalty and Geiger missed a 39-yard field goal – his fifth straight game with a miss and sixth on the season.
The Buckeyes made the Spartans pay immediately, as Michael Thomas took a quick slant from Barrett, broke a tackle from Darian Hicks and was off to the races for a 79-yard touchdown to tie the game 21-21.
Michigan State’s offense could not muster up much on the following possession and Marshall returned Sadler’s punt 26 yards to the OSU 36 as he evaded multiple tackles. Barrett connected with Smith on a 43-yard touchdown a couple plays later as Smith ran past safety R.J. Williamson for an easy score and a 28-21 lead with 56 seconds left in the half.
The Spartans got the ball to start the second half and lived a bit dangerously early. Langford coughed the ball up near midfield, but offensive lineman Jack Allen fell on it and OSU cornerback Eli Apple dropped an interception, which hit him in the chest. But the Spartans found luck on their side and wound up with a 40-yard Geiger field to pull within 28-24 with 8:38 left in the third.
The Buckeyes responded with a 10-play drive that took up 6:14 and finished with a one-yard touchdown run by Elliott, giving the Buckeyes a 35-24 lead – the first time either team had led by two scores.
Langford came out and ran for a five-yard and a 30-yard gain on the first two plays, but that was all MSU could manage as Nick Hill was brought down for a loss of a yard on fourth-and-five and OSU took over at its 36 to start the fourth quarter.
Ohio State quickly marched down the field with a 14-yard run by Elliott and a 15-yard late hit penalty on Nicholson to start. The Buckeyes finished the drive with Barrett’s third touchdown pass of the game as he hit Wilson in the end zone for a 42-24 lead.
Michigan State got its first touchdown of the second half behind Cook, who hit Price for 20 yards on a throwback screen and hit him again for a 16-yard score on the next play to pull to 42-31.
But the Buckeyes again had an answer as Elliott ran in from 17 yards out to give OSU a 49-31 lead just four plays later.
Langford got his third touchdown of the day with 5:20 left as he ran in from the OSU one-yard line. The play was set up after MacGarrett Kings took a bubble screen, reversed field and broke tackles for a 14-yard gain.