J.J. McCarthy threw for 263 yards and three touchdowns, added another score on the ground and No. 3 Michigan defeated Ohio State 45-23 at Columbus, Ohio, on Saturday.
Donovan Edwards added 216 yards rushing with two TDs as the Wolverines (12-0, 9-0 Big Ten) defeated the Buckeyes (11-1, 8-1) at Ohio Stadium for the first time since 2000.
McCarthy’s 45-yard TD pass to Colston Loveland early in the third quarter gave the Wolverines the lead for good at 24-20.
McCarthy followed that with a 15-play, 80-yard drive that took 7:51 off the clock by running in from the 3 with 13:10 remaining in the game. A defensive pass interference call on the Buckeyes’ Zach Harrison on a third-and-10 from the Ohio State 13 kept the drive alive and put the ball on the 2-yard line.
Noah Ruggles kicked a 27-yard field goal to pull Ohio State within 31-23 with 7:23 remaining.
Edwards followed with touchdown runs of 75 and 85 yards for the Wolverines to put the game away.
Ohio State held a 20-17 halftime lead even though McCarthy stunned the Buckeyes with 69- and 75-yard touchdown passes to Cornelius Johnson two minutes apart to give the Wolverines a 17-13 advantage with 5:24 left in the second quarter.
Johnson had four catches for 160 yards and two touchdowns.
Ohio State quarterback C.J. Stroud responded with a 42-yard scoring strike to Marvin Harrison Jr. with 3:49 remaining in the first half to put the Buckeyes ahead at the break.
Stroud was 31 of 48 for 349 yards with two touchdowns and two interceptions.
Ohio State took a 7-0 lead on the first drive of the game, getting a 4-yard rushing TD from Emeka Egbuka.
The Buckeyes led 10-3 when McCarthy, on a third-and-nine from the Michigan 31, found Johnson along the left sideline. He spun from defensive back Cam Brown to score on the 69-yard play to tie it. After a Noah Ruggles 47-yard field goal put the Buckeyes up 13-10, Johnson was at it again for his 75-yard go-ahead score.
Michigan running back and Heisman Trophy hopeful Blake Corum was on the field for the first three snaps but did not play afterward because of a previous knee injury. He had two carries for 6 yards.
–Field Level Media