The Ohio State Buckeyes took advantage of opportunities, whereas the Michigan Wolverines did not.
Avoiding a second straight loss, the Buckeyes came away with a 26-21 victory over Michigan at The Shoe in Columbus thanks to timely drives and the ability to make the most from turnovers.
The Wolverines led 21-17, but their offense stalled in the third quarter, allowing Ohio State to kick two field goals and complete a 12-0 regular season.
Devin Gardner looked fantastic in the first half, but fizzled in the second behind an offensive line that struggled to keep up with Ohio State.
It's time for the post-game grades...
Follow Bleacher Report's Michigan Wolverines football writer Adam Biggers on Twitter @AdamBiggers81.
Michigan junior Devin Gardner is 3-0 as a starter
Overall game grade--D
Devin Gardner's three-game winning streak came to an abrupt and avoidable end Saturday against Ohio State.
The junior started the day by completing 8-of-9 passes, but gradually fizzled in the third quarter, and finally broke in the fourth while throwing a game-changing interception during a last-gasp drive.
The Wolverines' 26-21 loss can't be blamed on Gardner, though. It should be blamed on sporadic playcalling from Al Borges, who abandoned the use of Denard Robinson in the second half, forcing Gardner under center.
That move proved to be hurtful. Gardner was forced into throwing after the Wolverines wasted downs by giving Vincent Smith carries. The entire attack was based on Gardner and Robinson, who each scored rushing touchdowns.
An interception and loss doesn't mean Gardner failed, but there were times he tried doing too much when flushed out of the pocket. Sacks came and throwing under durress was common, too.
An efficient first half gave Michigan a chance to end Ohio State's perfect season, but Gardner and the offense crumbled in the second half after leading by as many as four points.
Denard Robinson was Michigan's only threat on the ground.
Denard Robinson's 67-yard touchdown reminded college football followers just how one-dimensional Michigan's rushing attack really is -- it's Robinson, and that's it.
Thomas Rawls and Vincent Smith didn't make a dent in the Buckeyes defense. Rawls, a 5'10", 218-pound sophomore from Flint, was stopped on a goal-line situation and couldn't gain ground against an aggressive Buckeyes front.
Robinson did what he could when he could, but that wasn't enough. He was a non-factor in the second half, leaving his final mark prior to halftime with an incredible touchdown run. Robinson rushed for 122 yards; the rest of his team ran for -14 yards (including -28 yards from Gardner that came from sacks, being pressured).
The running game was ineffective withoiut Robinson, and it then became too predictable with Robinson in the backfield. Ohio State knew Shoelace wouldn't throw, so it stacked defenders on the line and edges to combat the senior speedster.
The plan worked to an extent, but Ohio State didn't take any chances with Rawls or Smith, either. Both backs were met with heavy pressure.
Jeremy Gallon almost had a 36-yard reception Saturday. Almost.
Drew Dileo may have dropped a crucial pass in the third quarter, but his block on Roy Roundtree's career-long 75-yard touchdown reception makes up for the mistake.
Besides, Devin Gardner was a little high and hot with the throw.
Roundtree's touchdown electrified Michigan's offense. It was the biggest play of the day for the Wolverines, who lost 26-21 to Ohio State.
Gallon had a 30-yard catch, but he should have had a 36-yarder -- it was called back due to interference by Roundtree. Six catches (67 yards) on the day weren't bad for Gallon, who was truly Michigan's steadiest option.
Roundtree had three catches for a total of 92 yards, but he wasn't targeted much in the second half. In true fashion, Roundtree flashed in with a monster touchdown and faded away into surroundings.
Where has this Devin Funchess been?
Mike Kwiatkowski started as a fan in the student section, only to end up as a tight end for his beloved Wolverines.
His rise is quite the story. More stories like his need to be shared.
However, the senior had just one catch Saturday against Ohio State, a relatively harmless six-yarder that blended into a Michigan drive.
That was it from the tight ends.
Devin Funchess has been missing in action for weeks (in terms of receptions); he was targeted once. He helped block for running backs who didn't do much, and that was the extent of his duties in the loss.
It's difficult to really grade the tight ends given their limited involvement. Had they been more involved -- instead of the Wolverines running the ball on short-yardage situations with no success -- Michigan could have found other options on offense.
The Wolverines O-line had trouble against OSU
Players' stats speak to the effectiveness of the offensive line.
So, Devin Gardner's 171 passing yards should be considered a major disappointment -- that was his lowest total since taking over the quarterback job at Michigan.
Denard Robinson's 122 rushing yards could suggest that the offensive line did its job Saturday against Ohio State, but remember, 67 came on one run. Other running backs struggled for positive yardage, let alone first downs.
Gardner was sacked, hurried and flushed out for most of the second half. The offensive line forgot how to block, either that, or it just felt the wear and tear the Buckeyes delivered in the third and fourth quarters.
Will Campbell celebrates Michigan's win over Iowa, but he probably wasn't so lively Saturday after losing to Ohio State.
Minus a strong fourth quarter from the line -- but mostly linebackers -- the Wolverines' heavies on defense struggled to stop Ohio State star Braxton Miller, who completed 14-of-18 passes for 189 yards.
Although Miller was held to about 60 yards on the ground, he was still effective and bothersome to a Michigan defense that scrambled just to keep up with him during Ohio State's 26-21 win.
William Campbell and Jibreel Black helped stop the run, while Frank Black came off the line and gave Miller all he could stomach in the fourth quarter with a couple of rib-rattling hits.
Jake Ryan's Wolverines couldn't top the Buckeyes in 2012.
The linebackers tried to make an impact but they made mistakes, too.
If not for Jake Ryan and Desmond Morgan, the Buckeyes would have likely built a two-touchdown lead in the fourth quarter. However, two big stops from the pair forced Ohio State to kick a field goal, and other plays forced punts.
The Buckeyes offense was cruising behind Miller in the second half, despite slowing the pace in the second half.
Joe Bolden made a freshman mistake by missing a tackle on Miller, who broke for a 42-yard run in the second half. Luckily for Bolden, Raymon Taylor was there to save the touchdown.
Ryan was his typical self, but wasn't as aggressive as he's been in the past. The Buckeyes offensive line did a good job limiting him, but Ryan relentlessly pursued running back Carlos Hyde and Miller.
Miller rushed for about 60 yards. Hyde, though, did a lot of damage with 146 yards and a three-yard touchdown.
Michigan's Raymon Taylor had his hands full Saturday.
The secondary wasn't lit up all day, but Ohio State's Braxton Miller found a way to dissect it little by little with under routes and sideline throws.
Miller was accurate, and Michigan paid.
It was that simple.
Although the Buckeyes air attack wasn't the main factor in Saturday's 26-21 win over Michigan, it certainly kep the Wolverines off balance.
Raymon Taylor's tackle stopped Miller from rushing for a mile-long touchdown, instead cutting it to a 42-yard jog. He's probably like a few downs back, but Taylor has developed into a reliable defender. He's one of Michigan's top young players.
Devin Smith's 52-yard touchdown grab was the crown jewel of Ohio State's passing performance, but Philly Browns's 95 yards and eight catches gave Michigan fits, too.
Dennis Norfleet didn't do much on returns, but he helped track down a fumbled punt return.
After a loss to Ohio State?
Drew Dileo averaged 17 yards on both of his kick returns, and Dennis Norfleet returned one for 27 yards.
There was only one punt return, and Dileo had to hold on for dear life instead of running wild. Good choice.
Marvin Robinson recovered a fumble on a muffed punt return, giving Michigan a chance to score -- which never happened because of a questionable call on fourth down.
On the other side, Michigan held tight while covering punts. Ohio State's Philly Brown averaged just 7.5 yard per punt return, but his teammate Bradley Roby averaged 23.5 yards on two kick returns.
It was a give and take for the special teams, but it did more taking than giving.
Al Borges didn't execute a strong gameplan Saturday.
A strong, steady and conservative gameplan gave way to sloppy, ill-advised and questionable calls in the second half.
Brady Hoke's decision to go for it on 4th-and-3 in the third quarter -- and in his own territory, at that -- was the pinnacle of questionability (is that a word?).
Why run the risk? The defense held strong at that point, and it was logical to assume it would do so again.
And it did, actually, allowing just a field goal. Michigan got lucky. So did Hoke.
The festival known as Al Borges playcalling wasn't so festive Saturday. Borges had things rolling with the Denard Robinson runs setting up shots down the field.
And then it happened. Michigan stopped moving forward, giving way to a backpedal that cost it the game.
Not using Robinson in the second half was a mistake. He's the best athlete on the field. Granted, he's not a pass blocker -- and Borges wanted to throw in the second half -- but the Wolverines have to make sure there is a way to get the ball in Robinson's hands with the game on the line.
It didn't happen.
Quarterback Devin Gardner was forced to scramble with Vincent Smith as a blocker and take chances with the ball. One such pass was a well off-target throw to Devin Funchess in the fourth quarter.
The continuity Michigan had in the first half, the momentum it was to build upon in the second half, was lost after halftime.
Greg Mattison's defense did what it could to keep Michigan in the game, but it was the lack of punch on offense that let a win versus Ohio State slip away into the distance.