• Jim Harbaugh gets his second win over a Top 10 team and his first since a 2016 victory against Wisconsin. No one can take this away from Harbaugh and Michigan (so don't let them try). The Wolverines should be applauded - they had their guts ripped out at Penn State, dropping a game-tying TD pass in the final two minutes only to lose 28-21, and we weren't really sure how they would respond. 

Michigan didn't cave. Like the second-half comeback against the Nittany Lions, the Maize and Blue demonstrated the mental toughness that had been missing earlier in the season, playing with confidence and anger throughout the first half as they raced out to a 17-0 lead. 

With rain pouring, ND coming off a bye and the heartache of last week's loss, U-M had every excuse to start slowly. Instead, the Wolverines owned both lines of scrimmage in the first quarter, averaging 6.9 yards per carry (on 14 attempts) and holding the Fighting Irish to 1.0 yards per carry (on eight attempts). Michigan only led 3-0 but was already in complete control. 

By the end of the half, Michigan led 17-0, had outgained Notre Dame 189-52 and had limited ND to 1.9 yards per play. 

After one of the worst pass interference calls I've ever witnessed in my life helped the Irish engineer a third-quarter touchdown drive, U-M continued to show that mental mettle, responding with a six-play, 75-yard touchdown drive, burying the Blue and Gold en route, arguably, to the best win of the Harbaugh era.

 • Michigan offensive line coach Ed Warriner told the media after the Illinois game that the coaches had adopted some of the 2015-18 ground-game principles in their attack, utilizing pulling linemen in power-run plays. The results? A season-high 295 yards rushing in Champaign. 

The following week, U-M had 141 yards and three scores on the ground in the loss to Penn State. While that doesn't seem boast worthy, it was only the second time PSU allowed 100 yards rushing this season, and the 3.44 yards per carry Michigan averaged was the best mark by a Nittany Lions' opponent all season. 

Fast-forward to Saturday night and the Maize and Blue's improved rushing attack went off against Notre Dame, finishing with a new season-best 303 yards (5.3 yards per carry). 

Give credit to Warriner and the offensive coaches for understanding this offensive line had great experience and success in man and power concepts, and figured out how to incorporate the best of 2015-18 into a new offensive approach adopted by the Wolverines in 2019. 

Give lots of credit to this offensive line, which has been solid all season in pass protection and is now finding its stride in the running game. The unit was considered one of the most disappointing position groups through the first month of the year, but the line has been terrific in October, and provides Michigan one of its best reasons to believe U-M could run the table in November. 

Also give credit to freshman Zach Charbonnet and redshirt freshman Hassan Haskins, who continued to build their individual games and have emerged over the last three weeks as Michigan's best ball carriers. 

Haskins had a career-high 149 yards against Notre Dame and now has 302 yards in his last three games (6.7 yards per rush) while Charbonnet had his third straight game of 70 yards or more (he had 74 vs. ND) while rushing for 271 yards in the past three contests (averaging 5.6 yards per carry). 

Charbonnet, by the way, scored a pair of TDs in this game and now has nine on the year, tying a true freshman record, held by Tyrone Wheatley (1991) and Mike Hart (2004). 

• Michigan didn't do much in the passing game at first, understandably so with a downpour making it almost impossible for either quarterback to throw with any accuracy, but it was also concerning that senior QB Shea Patterson was bailing out of clean pockets, creating pressure and sacks (two for ND) that were 100 percent on the signal-caller and not the U-M offensive line. 

Patterson did have a few nice runs in the first half, including a 22-yard rush in the second quarter that led to one of Michigan's touchdowns, but it was a shaky first 30 minutes. In the second half, Patterson found the confidence he showcased at Penn State, looking far more comfortable and completing 4 of 8 attempts for 78 yards and two touchdowns - dimes to junior WRs Donovan Peoples-Jones and Nico Collins. 

Yes, the rain had for the most part stopped, but Patterson looked like a completely different QB, no happy feet, no panicking. He made his reads, stayed in the pocket, found open receivers and threw on-target passes. 

In this game, it didn't matter that Patterson had one good half and one bad half, but he still needs to find greater consistency if the Wolverines have any chance of upsetting Ohio State at the end of the season. 

• A week after his defense surrendered the game's two biggest (and deciding) plays in a 28-21 loss to Penn State, Don Brown set his unit's hair on fire. The Wolverines harassed ND quarterback Ian Book in a way he had probably never been harassed in his starting career so far, Book finishing with a 69.7 QBR after completing 8 of 25 attempts. He looked as anemic as Brian Lewerke in East Lansing a year ago. 

The defensive line manhandled Notre Dame's offensive line, yielding just 1.5 yards per rush, recording two sacks and five quarterback hurries (unofficially, there were likely many more we'll see on review of the film). If you're keeping track, that is now two teams known for their strong OL play (Iowa and ND) that Michigan overpowered up front. 

Sure, where was that unit against Wisconsin? But that's in the past, and all that matters is what is in front of the Wolverines. 

This defense, with young standouts popping out more and more every week -- sophomore defensive end Aidan Hutchinson had a tackle for loss, a pass breakup and a QB hurry; redshirt freshman linebacker Cam McGrone led U-M with 12 tackles and redshirt sophomore safety Brad Hawkins was outstanding all night in coverage and as a run-stuffer -- has the potential to be very good the rest of the year. 

At the very least, the defense should be able to shut down Maryland, Michigan State and Indiana (though the Hoosiers will be very tricky this season), and ... well, let's not make any predictions for Ohio State. The Buckeyes just trucked Wisconsin and look to be one of the nation's four best teams (they might be the best). 

We'll get there when we get there. 

• At this point, the game at Wisconsin appears to be an anomaly but there are no do-overs and Michigan wasn't ready. The team doesn't get to pick when it plays its most challenging games and there are no excuses for not being ready to compete on either side of the ball in Madison. 

However, last week's loss at Penn State felt different because of the way U-M competed and battled back, and coupled with this week's humiliation of Notre Dame, there is plenty of positive and reason to believe the Maize and Blue are peaking at the right time. 

It will all come down to THE Game, but with performances like Saturday night fans can believe something special is still possible in 2019. It may happen, it may not -- with Penn State beating MSU Saturday, the East Division title becomes an even bigger long shot -- but the Wolverines could be riding a four-game winning steak heading into the last weekend of November, ranked in the Top 12 and giving the entire country good reason, once again, to tune in when Ohio State invades Ann Arbor. 

Michigan must continue to build on what it did against the Irish, on both sides of the ball, but there just might be some light at the end of this tunnel. 

• One final note, if you hate Notre Dame, as Bo Schembechler certainly did, you had to love Harbaugh keeping his foot on the gas in the fourth quarter. Even as U-M led 31-7 with 11:29 remaining in the contest, the offense went for the jugular, going for, and scoring, two more touchdowns to ensure the program's largest win over ND (31 points) since a 38-0 blanking in 2007. 

With the two teams not scheduled to play again until 2033 (a home-and-home series announced Saturday morning), Harbaugh essentially channeled his inner Bo with a loud "To Hell With Notre Dame."