The Indiana Hoosiers are 3-0 in the Big Ten, the first time they’ve been undefeated after three conference games since 1988.

Needless to say, things are looking good in Bloomington. Certainly, it was the case on a beautiful fall day Saturday, when IU proved ready from the start against nemesis Michigan, a team it hadn’t beaten since 1987.

Let’s grade out the No. 13 Hoosiers after their 38-21 victory over 23rd-ranked Michigan.

Passing offense: A

Unlike the first two games of the season, Michael Penix Jr. came out hot against the Wolverines.

On Drive No. 1, a 74-yarder, Penix hit 7-of-9 passes for 60 yards, hitting the last on a great throw and touchdown catch by Miles Marshall. The wide receiver snatched the ball over the head of a UM cornerback.

In the first two games this season, it took Penix nearly a half to find that kind of comfort zone; against Penn State, he started only 11 of 27 before getting hot late in the fourth quarter and overtime. And vs. Rutgers, he was 3-of-10 before getting his groove late in the second quarter.

Penix’s first-quarter stats vs. the Wolverines: 12-of-17 passing for 136 yards and two touchdowns.

He was the star of the show for the Hoosiers, hitting on 30 of his 50 passes for 342 yards with three touchdowns and no interceptions. He had some great throws, none more so than the three TDs. Ty Fryfogle, as part of an outstanding day (seven receptions, 142 yards and the score), went up to nab IU’s second score. Earlier, he had an impressive one-handed catch, in which he pulled the ball in with his right hand while holding off a UM corner with his left.

Penix found Peyton Hendershot on a 1-yard score just before the half. Later, Penix showed his savvy when he hit Hendershot on the hot read, avoiding the Michigan blitz and setting IU up with a first-and-10 in the red zone.

Penix, who feasted on Michigan over the middle, does show weakness when throwing to the sidelines. He tends to drift in the pocket, likely a reason why his sideline passes float wide of intended receivers.

But otherwise, he was fantastic vs. Michigan.

Rushing offense: A-

For much of the game, it looked like IU might be one-dimensional on offense.

But the Hoosiers picked up critical ground yards in the first half, then started to find running lanes in the second. The result? A solid 118 yards on the ground, including 97 from Stevie Scott III.

After Jaylin Williams intercepted a Wolverines pass when Michigan had the margin down to 10 in the third quarter, the Hoosiers turned to the running game to grind clock. It helped too that the result was another score. Scott converted a fourth-and-1 — after (another) bad call by a Big Ten replay official on third down — near the goal line, then scored on the next play. The drive covered only 29 yards but chewed up nearly four minutes at a critical juncture.

How often in series history has IU been more physical than Michigan? It did, especially in the second half, on Saturday. Impressive.

Later, IU used the ground game to salt away the clock, including Scott picking up another fourth down. Sampson James had 25 yards, including a short-yardage third-down conversion in the second quarter.

Offense overall: A

Indiana scored 38 points against Michigan. It didn’t have a turnover.

The Hoosiers smoked the Wolverines statistically, going for 460 yards of total offense. For the first time this season, IU’s yardage matched its points. The Hoosiers continue to be highly efficient in the red zone, and on Saturday, they were great on third down, converting 9 of 18. On two of the times when they failed on third down, the Hoosiers converted on fourth down.

Honestly, not much to complain about.

It was a solid job by Penix and Co. to take advantage of Michigan mistakes. Three times in the first half, the Wolverine defensive line — in a largely vacant, quiet Memorial Stadium — jumped offsides, giving Penix a free play. Kudos to the young QB of recognizing and take advantage, hitting the first two for touchdowns. On the third, Penix drew a pass interference.

IU continues to dominate the second quarter, outscoring UM 10-0. It now has a 44-0 edge in second quarters this season.

Passing defense: B

Michigan had 344 passing yards, but that was a meaningless stat. The Wolverines trailed the entire game, so of course they were going to chuck it often.

On closer look, the Hoosiers made game-changing plays in the passing game, like Williams’ interception early in the fourth. His fancy return set the Hoosiers up to reestablish a three-possession lead. Devon Matthews basically sealed the victory with his interception on Michigan’s next possession.

The Hoosiers sacked Joe Milton three times, including the last by James Head Jr., a play before Matthews’ interception.

Defensive back Tiawan Mullen again had a great game, with two more PBUs, one on a third down. And he forced a fumble on a sack, which inexplicably was changed to an incomplete pass by the Big Ten replay official.

The bad: Safety Jamar Johnson was tossed in the first quarter for throwing a punch. Michigan took advantage on the next play, going deep and scoring vs. Johnson’s replacement. Michigan spent the second half trying to work the middle of the field, where Johnson would have been, and found success.

But Milton doesn’t throw the deep pass well, allowing IU to sit down on the underneath and keeping Michigan from a rally.

Rushing defense: A+

Michigan — Michigan — rushed for 13 yards against the Hoosiers on 18 attempts. Even taking out Milton’s sack yardage (and other losses), the Wolverines gained only 42 yards.

Indiana’s front dominated Michigan.

Read it again.

Indiana’s front dominated Michigan.

One of the highlights: Reese Taylor run blitz that stuffed Michigan on the Wolverines’ second possession. Michigan converted only one third down with a rush, averaged less than a yard per carry and had a long of 11.

Defense overall: A-

Indiana held Michigan to three-and-outs on three of the Wolverines’ first four possessions.

On those three possessions, UM had a total of 8 yards. By the end of that stretch, IU was up 14-7 on its way to a 24-7 halftime lead.

Indiana’s rush defense was stout and although IU gave up yardage through the air, the Hoosiers had few breakdowns and caused a couple critical turnovers. They stopped UM on 8-of-11 third downs.

The Johnson unsportsmanlike was completely unnecessary.

Special teams: A

Place-kicker Charles Campbell, who has been perfect this season, stayed that way Saturday, hitting a 52-yard field goal.

Additionally, IU played largely mistake-free in special teams.

Coaching: A

The point of this grade card isn’t generally to judge one coaching staff vs. the other, but … one was clearly ahead of the other on Saturday. Tom Allen just coached better.

The Hoosiers were ready to go from the kickoff, jumping all over the Wolverines early, grabbing the lead and then holding it. IU made plays in all phases, answered when challenged and proved to be the better team. It really wasn’t close.

Meanwhile, Michigan looked under-prepared, uninspired and vanilla. And the multiple offsides penalties, in a largely empty stadium, were just mind-numbing.

IU was the underdog, but this didn’t look anything like an upset.

Overall: A

Indiana was the better team. It outclassed Michigan from start to finish, and in doing so earned the respect that it has so much desired.