It wasn't easy, but Ohio State got it done against Michigan again, topping the Wolverines in Michigan Stadium, 31-20.
Here are 21 GIFs that tell the story of that game. To view the GIFs, hover on desktop or touch on your mobile device.
After the two teams traded three-and-outs to start the game, Michigan put together a methodical 13-play, 77-yard drive capped by this two yard plunge from Khalid Hill.
Later in the first quarter, Michigan's Donovan Peoples-Jones took advantage to overaggressive gunner play from Ohio State to return a punt 42 yards. With a holding call on the play going against Ohio State, the Wolverines were in business at the Buckeye five...
... and then Michigan quarterback John O'Korn found tight end Sean McKeon from three yards out to put the Wolverines up 14-0.
Ohio State would have an answer as J.T. Barrett raced 21 yards into the end zone to cut Michigan's lead to 14-7. The run was the cherry on top of an 11-play, 75-yard drive.
Sam Hubbard and Tyquan Lewis got after O'Korn on Michigan's ensuing possession, recording the first of five sacks the Buckeyes would get in Ann Arbor.
Ohio State would force a punt, taking over at their own 47. On 2nd-and-8, Barrett ripped off a 26-yard run to the Michigan 25. On the very next play, he found a wide open Marcus Baugh to tie the game at 14.
Ohio State forced a quick three-and-out, but a bad snap on 3rd-and-5 on their next possession doomed the drive and they were forced to punt back to the Wolverines. The two teams would enter the half tied at 14.
After trading punts to start the 3rd quarter, Michigan struck to take the lead again, thanks to this two-yard plunge from Karan Higdon.
Ohio State cornerback Denzel Ward came up huge on the extra point, however, blocking the kick to end a streak of 320 straight made PATs from Michigan.
Let's get Jim Harbaugh's reaction to the block...
Things looked bleak when Barrett went down with a knee injury on Ohio State's next possession.
Then, bad turned to worse when two consecutive false starts created a 3rd-and-13 situation for the Buckeyes, but quarterback Dwayne Haskins, into the game to replace Barrett, found Austin Mack for a clutch throw and catch for 27 yards and a first down.
Two plays later, Haskins eluded pocket pressure, rushing 22 yards to the Michigan one.
J.K. Dobbins punched it in from there. With the extra point, the Buckeyes had their first lead of the game, 21-20, with 1:34 remaining in the third quarter.
Ohio State would add a field goal on their next drive to make it 24-20 and then Michigan got a lucky when they escaped a delay of game penalty on this play that led to a 24-yard reception from Eddie McDoom.
Two plays later, O'Korn pulled one of these, losing three on the play, and Ohio State was able to force a turnover on downs when he followed up with two straight incompletions.
Ohio State drove into field goal range on their next possession, but Sean Nuernberger was unable to connect from 43 yards out. Michigan had some momentum with a little over two minutes to play.
Needing a touchdown to win the game, this was their answer to the missed field goal.
The Buckeyes made the Wolverines pay for the turnover on their following drive with Dobbins ripping off this 35-yard run on first down.
Two plays later, Mike Weber went 25 yards untouched to make it 31-20, Ohio State. That score would hold, giving Urban Meyer his sixth win in as many tries against Michigan.
Ohio State's bench was feeling it during the waning seconds.
And... the handshake.