EAST LANSING — Nursing a three-point lead midway through the fourth quarter, Michigan coach Jim Harbaugh went with the freshman. 

J.J. McCarthy — the former five-star backup quarterback — trotted onto the field. Throughout the game, McCarthy came in for specialized packages within the Wolverines’ offense, including a number of successful read options and a touchdown pass to freshman receiver Andrel Anthony. The starter — junior Cade McNamara, who finished the game 28-of-44 for 383 passing yards and two touchdowns — was “working through something,” according to Harbaugh. 

Even so, McCarthy’s last touch had ended with a fumble that, mercifully for Michigan, went out of bounds. 

This one didn’t. 

McCarthy bobbled the exchange with sophomore running back Blake Corum. Almost as soon as the ball hit the ground, Michigan State defensive end Jacub Panasiuk fell on it. Six plays later, the Spartans scored the go-ahead touchdown. 

That turnover and score would prove to be decisive, as No. 6 Michigan (7-1 overall, 4-1 Big Ten) fell to No. 8 Michigan State (8-0, 5-0), 37-33. In every moment where the Wolverines — who led by as many as 16 points in the second half — looked as if they could seal the game, mishaps arose that ultimately doomed yet another opportunity for Harbaugh’s program to pick up a signature win over a rival. 

“Sometimes, we shot ourselves in the foot and couldn’t punch it in,” sixth-year center Andrew Vastardis said. “That hurt, first in the grand scheme of the game, but (it’s) something we have to grow from. Something to be better at.”

Crucially, many of those errors came in the red zone. On the second drive of the game, with an opportunity to jump to a 14-point lead, an end around to the Spartans’ five-yard line by junior receiver Cornelius Johnson seemed to put Michigan in prime position to score. But the run was called back due to a holding penalty on Anthony, and the Wolverines settled for a field goal. 

Senior kicker Jake Moody, for his part, was a perfect 4-for-4 on the day, but the short distances on those field goals — 26, 38, 35 and 36 yards — illustrate just how ineffective Michigan was in Michigan State territory. 

Those woes continued well into the second half. Tied at 30 early in the fourth quarter, the Wolverines began to assemble a promising drive — including a 43-yard pass from McNamara to junior receiver Mike Sainristil — that set them up with a 1st-and-10 from the Spartans’ 20. 

But once again, the drive stalled. After McCarthy’s fumble out of bounds and a short McNamara scramble brought out 3rd-and-8, Michigan elected to take a shot at the endzone, which ultimately fell incomplete. 

In a top 10 rivalry matchup, the Wolverines needed touchdowns. Instead, they were getting field goals. 

“We just came up short, and that’s on me,” McNamara said. “I didn’t execute good enough for us to win this game.”

And while the defense had been there to pick up the slumping offense earlier in the season, it struggled to pick up key stops on Saturday. Michigan State running back Kenneth Walker III — likely a Heisman frontrunner — bounced into space and slipped through tackles with ease. He scored all five of the Spartans’ touchdowns, including three rushes that went longer than 20 yards and the game-tying, 58-yard score. 

But Michigan State also dismantled Michigan’s defense schematically. Especially on the defensive line, the Wolverines under first-year defensive coordinator Mike Macdonald have relied heavily on rotations to keep players fresh and avoid mistakes that stem from fatigue. 

The Spartans countered that emphasis with tempo, frequently hurrying to the line to disrupt Michigan’s substitutions. On two different occasions, the Wolverines were penalized for having too many men on the field. Even when they weren’t penalized, Michigan State’s fast pace prevented Michigan from getting set and led to mistakes. Even the Wolverines’ best players made errors — including junior defensive back Daxton Hill, who got beat on a 28-yard reception that gave the Spartans a first down at the one-yard line. 

“Just didn’t execute,” senior edge rusher Aidan Hutchinson said. “Didn’t execute our gameplan. Tackling wasn’t good enough. Just let our offense down a little bit. Gotta be better.”

Entering the season, nobody foresaw Saturday’s game as a potential top 10 matchup. Neither Michigan nor Michigan State was expected to win many games, let alone compete for championships.

Such is the reality of college football. The Wolverines are a better team than they were a year ago, but the opportunity for a signature win was there. Moral victories about how much worse the team could have been will do little to mitigate the reality of yet another loss against a top opponent. Even if expectations become unrealistic throughout the season, the team still has to confront them. 

There’s still a lot of football left, but for Harbaugh, the burden of unfulfilled expectations still remains.