COLUMBUS, Ohio — Even most Michigan football fans didn’t seem to believe it could happen, based on the few hundred speckled maize and blue dots that made the trek south, mixed within a sea of 106,005 mostly red shirts.
Fortunately for the supporters in Ann Arbor, those who call Schembecher Hall home did believe.
The Wolverinesmuch maligned for a lackluster offense all season, did enough when it mattered most. Michigan won the rushing battle (as every winner in this rivalry since 2001 has), made a pair of game-changing plays on special teams and bowed up on defense all game against a top-10 offense to pull the upset over No. 2 Ohio State, 13-10.
“When we gathered up in the fourth quarter, I told everybody to listen, listen to the sounds, there was nothing,” head coach Sherrone Moore said postgame. “Knew at 10-10, we had them. That was the goal. We wanted to keep them on the ropes, keep them fighting and our guys did that.
“But it wasn’t really about what anybody else thought. We didn’t talk about belief, we talked about trust: Trusting each other, trusting yourself and trusting what you can do to go win the game.”
U-M was a 19½-point underdog on BetMGM, pulling off the biggest upset in “The Game” since 1969when it was a 17-point underdog but won, 24-12over No. 1 OSU at Michigan Stadium.
U-M knew it would need to get just enough from its offense. That seemed to come in the fourth quarter, when quarterback Davis Warren converted three third-down passes on one drive — the first two to Marlin Klein right at the marker, the last to Peyton O’Leary on a diving grab for a gain of 18 — to get into OSU territory.
He then had an 11-yard keeper to move the sticks a fourth time, before a trick play pass from Kendrick Bell to Tyler Morris drew a pass interference near the end zone. Three Kalel Mullings rushes later, U-M had a first-and-goal on the doorstep, but on the 17th play of the drive, Warren was intercepted by Jack Sawyer on an underthrown pass.
Michigan had gone 77 yards and chewed up 9:10 off the clock but without any points. Moore’s response: A hug for Warren and a message after the game, when Warren again apologized for the turnover.
“I told him don’t do that again — don’t talk about that again,” Moore said. “He played so good. Talk about how much he moved our team down the field on third down, he was elite.
“Nobody probably gave him a chance. Nobody gave him a chance in life and where he is now, success in itself.”
Instead of the miscue spelling disaster, for the fourth time in as many possessions, the defense stood tall and forced a punt. U-M got the ball back with 6:13 to play, and facing third-and-6, Mullings broke a pair of tackles before he spun around the right side of the line and ran 27 yards, putting U-M into OSU territory.
That was the key play to set up a Dominic Zvada 21-yard field goal with 45 seconds to play, as Mullings finished with a career-high 32 carries for 118 yards and a score.
“I was dreaming about this exact moment, these exact things going on all week,” Mullings said. “It’s amazing.”
OSU’s offense got the ball, but on fourth-and-9, Will Howard’s final pass attempt fell incomplete.
The Wolverines were without two projected 2025 NFL draft first-round selections in tight end Colston Loveland and cornerback Will Johnsonyet gave the No. 2 Buckeyes all they could handle.
Without Loveland, the passing offense was limited, but still did enough as Warren completed nine of 16 passes for 62 yards and overcame a pair of costly turnovers. Even without Johnson, U-M’s secondary and pass rush combined to make life miserable for an elite OSU attack, holding Howard to 19-for-33 passing for 175 yards, with one score and two picks.
REQUIRED READING:Michigan’s stunning win over OSU could be turning point like it was for Bo
The Wolverines (7-5, 5-4 Big Ten) avoid finishing the regular season at .500 or below for the first time since a 5-7 campaign in 2014 (the last of Brady Hoke’s tenure), and now await their bowl game destination a week from Sunday.
OSU (10-2, 7-2) squandered a chance to lock up a spot against Oregon in next Saturday’s Big Ten championship game.
Both sides got into a sizable brawl near the middle of the field following the game, after U-M players planted a large flag with a Block M at midfield and OSU players took exception. The fight lasted several minutes.
(You can watch video at the top of this page.)
“For such a great game, you hate to see stuff like that after the game,” Mullings said postgame. “It’s bad for the sport, bad for college football. But at the end of the day, some people, they gotta learn how to lose, man. You can’t be fighting and stuff just cause you lost the game. We had 60 minutes, we had four quarters to do all that fighting and now people want to talk and fight.
“That’s wrong, it’s just bad for the game, classless in my opinion. People gotta be better.”
WHAT HAPPENED:Michigan and Ohio State get into big fight on field
Michigan defense holds strong
Michigan was only in position to win the game because the defense came up with stop after stop.
Three times, OSU got into U-M territory in the third quarter and each time it came away empty. First, OSU had to punt from the 37 after Howard’s pass was behind Emeka Egbuka. Next, Makari Paige picked off Howard inside the red zone. Finally, a missed 35-yard field goal (OSU’s second of the game) after a Caleb Downs interception set the Buckeyes up inside the U-M 20 to begin the series.
All those stops gave Michigan enough life to stick around and make the game-clinching plays in the fourth quarter as it held OSU to a season-low 10 points and just 252 yards of offense.
“That whole group, they won us this football game, no doubt,” Warren said of the defense. “The way they played against that offense, did an incredible job, all the credit goes to them and coach Wink. … They did so much to win this football game for us.”
Rushing battle tells the tale
The winner of the rushing battle had won every contest in this rivalry since Drew Henson led U-M to a win in Columbus in 2000, and that streak continued Saturday with U-M winning behind a 172-77 edge on the ground.
Michigan ran 18 times for 82 yards in the first half, which included a key 29-yard scamper by Alex Orji on third-and-3 on a lengthy U-M drive. The Wolverines were stuffed on fourth-and-1 from the Buckeyes 3 later on that drive, but the defense got the ball back three plays later when Aamir Hall intercepted Howard’s pass at the 13 and took it down to the OSU 2.
“Just another example of the defense having our back,” Mullings said. “Time and time again, those guys on defense just make plays and give us opportunitites. … Get the ball on the 3-yard line, can’t ask for anything better.”
Mullings pounded in a touchdown to put U-M up 7-3. Donovan Edwards, who had a historic game two years ago in Columbusran four times for 11 yards but left the game with an injury when he was tackled on third-and-7 late in the first half.
Though Michigan was bottled up in the third quarter, rushing five times for 13 yards, the ground game broke loose in the final quarter with 19 carries for 77 yards.
“I felt like personally up front, they couldn’t hang with us (on either side),” edge Josaiah Stewart said. “We feel like we have an advantage every game up front. … We’re like a boa constrictor. They start losing life, being physical and getting hit in the mouth.”
Special teams gives Michigan a chance
A large reason U-M was in position to win was because of special teams. The wind was swirling on Saturday and the direction made a big difference — wind was at the back of kickers facing north — when Fielding missed a 37-yard kick wide right in the second quarter.
Though U-M went three-and-out afterwards, punter Tommy Doman had the wind at his back and boomed a season-long 68-yard punt which pinned OSU at its 7. The Buckeyes were forced to punt into the wind, getting only 31 yards.
That set up a short field for U-M, before kicker Dominic Zvada banged home a 54-yard kick with the gusts at his back to improve to 7-for-7 from 50 yards on the season.
In the third quarter after OSU’s offense began a drive at U-M’s 16, OSU missed another short kick to keep the game tied and Zvada made the winner.
Make “Hail Yes!” your go-to Michigan Wolverines podcast, available anywhere you listen to podcasts (Apple, Spotify).
Tony Garcia is the Michigan Wolverines beat writer for the Detroit Free Press. Email him at apgarcia@freepress.com and follow him on X @RealTonyGarcia.
(This story was updated to add a video.)