He left Ohio Stadium as a Michigan legend, along with running back Donovan Edwards.
McCarthy threw three long touchdown passes and added a scoring run early in the fourth quarter and Edwards broke off two long touchdown runs as No. 3 Michigan beat No. 2 Ohio State 45-23, its second straight upset in the rivalry. Playing almost the entire game without star running back Blake Corum, Michigan had five touchdowns of 45 yards or longer and four of 69 yards or longer to stun the Buckeyes.
"First-year starter, I don't think there's any first-year starter in the history of Michigan that has won 12 games, 12-0," coach Jim Harbaugh said. "And in their first game, starting against Ohio State at Ohio State to play that great. Everybody on our team knows it."
Michigan advanced to the Big Ten championship next week in Indianapolis, where it will face Purdue. The Wolverines (12-0) can win consecutive outright Big Ten titles for the first time since 1992.
They won at Ohio Stadium for the first time since 2000, which also represented their last winning streak in the rivalry (two games). Ohio State had won 29 consecutive Big Ten home games before Saturday, stretching back to the 2015 season.
Corum, Edwards and the ground game had carried the offense most of the season and questions were posed about the efficiency and capability of Michigan's pass game. Entering this game, McCarthy ranked No. 88 among all FBS quarterbacks in total passing yards, while Corum had surged into the Heisman Trophy conversation.
Despite the questions and doubts from the outside, McCarthy said he always trusted his teammates and himself.
"I never let it creep in. I was always going to keep firing," McCarthy said. "I always had 100 percent trust in every single one of my guys and in myself, and just to be able to do it today, it was so special. It was really so special and there's still so many things that we need to do to work on and get better but it was just great to finally see it come to fruition."
The matchup marked just the fourth time since 1935 that both Michigan and Ohio State entered their game without any losses or ties. Ohio State (11-1) came in 6-0 at home against Michigan when both teams held AP top-5 rankings.
Harbaugh, who lost his first five games to Ohio State, has now won consecutive contests. Ohio State coach Ryan Day fell to 1-2 against the Wolverines. The Buckeyes must wait until next week to learn whether they qualify for the College Football Playoff as an at-large selection, which they last did in 2016.
"That's life at Ohio State," Day said. "I certainly know what this game means to everybody, so when you lose, it all comes back to me; I'm the head coach. That's what probably hurts the most."
Both Day and defensive coordinator Jim Knowles felt comfortable with Ohio State's first-half performance, noting that almost all of Michigan's offense came on two long McCarthy touchdown passes.
"Nothing to get panicked about," Knowles said. "Then, the second half, they hit a couple [of] big runs. That's just disheartening. I have to take the blame for that. I've just got to do a better job. It's a story of explosive plays."
After the Buckeyes cut their deficit to eight points midway through the fourth quarter, Michigan struck right back with a 75-yard Edwards touchdown run. Edwards tacked on an 85-yard touchdown run as Ohio State fans headed for the exits.
"It was a missed tackle on the first play, then got beat on a double move on the second play and then there were obviously some misfits in the run game," Day said. "Obviously, the first thing we need to do to win games like this is play great defense. Other than a few plays in the first half, I felt like we did, but not in the second half."
Michigan knew it needed to beat Ohio State to return to the conference championship game. McCarthy acknowledged the win's importance, but also stressed that the season isn't over.
During Michigan's postgame news conference, he took his hat, adorned with Big Ten East champions on the front and threw it down on the table. He was excited about the win, but said the team isn't done yet and that their season goals are still ahead of them.
"It was great, obviously to get a win, every win's great and especially this one, but at the end of the day, this one doesn't even matter," McCarthy said. "This doesn't matter. The job's not finished, we have so much more to do and so many places to go, so, the job's not finished and we're ready to get after it."
Michigan's defense held Ohio State to three points in the second half and just 47 yards on eight plays in the third quarter. Ohio State punted on its first three second-half possessions, including twice from near midfield.
After converting its first four third-down opportunities, Ohio State finished 5-of-16.
"You have to play the field-position game," Day said. "Fourth-and-5 around midfield, if it was fourth-and-3, fourth-and-2, maybe you take a shot there. I didn't feel like we were desperate at that point, so I felt like that was the right thing to do.
"But you're not in those situations if you're converting on third downs, and we didn't do that today."
McCarthy completed three of his first nine pass attempts but then began finding gaps in an Ohio State defense that had allowed only two passing touchdowns of 45 yards or longer all season before Saturday. Midway through the second quarter, he found Cornelius Johnson, who beat cornerback Cameron Brown and raced for a 69-yard touchdown.
The sophomore then found Johnson for a 75-yard touchdown and helped Michigan regain the lead in the third quarter with a 45-yard scoring pass to freshman tight end Colston Loveland. McCarthy became the first player with three passing touchdowns and a rushing TD against Ohio State since Clemson's Tajh Boyd in the 2014 Orange Bowl.
"He's impressive, just manages things well, throws on the run, makes plays stretch out even longer," Knowles said. "And he can run the ball when he has to."
McCarthy had operated a mostly conservative passing plan in his first season as the starter, and Michigan came in with only one passing touchdown of 50 yards or longer. He came in averaging only 177.5 passing yards per game, which ranked 11th in the Big Ten and well behind Ohio State's C.J. Stroud (271.9 YPG), who remained a top Heisman candidate.
Stroud passed for 349 yards and two touchdowns but struggled to attack downfield other than a 42-yard TD to top receiver Marvin Harrison Jr. late in the first half. He threw two interceptions in the final five minutes of what likely was his final game at Ohio Stadium.
"People are going to say I never won The Game, and I understand, people are going to say I never won the Big Ten championship, I understand," Stroud said. "When it comes to that, I just have to eat it. It's life. Nothing's ever been easy for me."
Stroud emphasized that the Michigan game wouldn't define him or his team, but noted how much Ohio State had focused on it after falling to the Wolverines last season. He hasn't decided if he would play in a bowl game if the Buckeyes fall short of the CFP.
"I tried to do everything I possibly could, but it's on me, this game is really on me, I've got to do more," Stroud said. "This is the one that we really wanted [after] 365 days of everybody laughing and talking. We started out strong. Just laid an egg in the second half."
Both teams played short-handed at running back. Corum, who sustained a left knee injury in last week's win over Illinois, left the game after two carries on Michigan's first possession and did not return. Michigan had only 10 rushing yards in the first half.
Ohio State starter TreVeyon Henderson sat out with a lower leg injury, while Miyan Williams returned from injury but was not overly effective. The Buckeyes leaned on Chip Trayanum, a linebacker who played running back at Arizona State but had only one carry for Ohio State before Saturday. Trayanum finished with 83 yards on 14 carries.
The Wolverines were held to just 10 yards rushing in the first half, but Edwards exploded in the second half with 170 yards and two touchdowns in the fourth quarter, which was the most by a Power 5 player since Jamaal Charles did it for Texas in 2007 against Nebraska.
Edwards also became the first player in Michigan history to record multiple 75-yard touchdown runs in a single game and his final tally of 216 rushing yards is the second-most by a Michigan player against the Buckeyes all time, behind Tim Biakabutuka's 313 yards in 1995.
"Our team really paid the price and they really put in all the work. And that's what they did, just the hard work, the sweat every other game," Harbaugh said. "To get to this game and get this opportunity, and we were thankful to be where we were, right where we wanted to be and then came down here, players were all focused and determined to win."