From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Purdue
Michigan
269
Total yards
445
144
Passing yards
335
125
Rushing yards
110
5.1
Yards per pass
9.1
4.3
Yards per rush
3.2
10
First downs
22
1–14
Third downs
7–14
1–1
Fourth downs
0–1
1
Turnovers
1
5–58
Penalties
1–10
26:06
Possession
33:54
3
Sacks (by defense)
1
Efficiency
Purdue
Michigan
28%
Success rate
46%
−0.09
EPA per play
0.18
0.98
Explosiveness
1.26
−0.08
Rushing EPA
0.12
0.10
Passing EPA
0.23
20%
Passing-down success
25%
−0.28
First-down EPA
0.17
−0.07
Second-down EPA
0.11
−0.07
Third-down EPA
0.64
14%
Havoc by its defense
18%
From CollegeFootballData.com: each offense’s efficiency, and the havoc each defense caused. The better side of each line is bold.
Before kickoff
Our ratings and the line, going in
Our ratings (scores only)
Michigan 91% to win. Elo’s favorite won.
The line
Michigan −32.5, over/under 52.5.
The last line on file before kickoff: the consensus line when the books publish one, otherwise a single major sportsbook’s.
Before kickoff, the win chances were Michigan 98%, Purdue 2%. CollegeFootballData.com’s estimate from the point spread.
Every drive
Solid bars scored; an outline in the other team’s color marks points the defense scored. Michigan drives left to right, Purdue right to left.
Q1 PurduePunt, 4 plays, 13 yards
Q1 MichiganTouchdown, 6 plays, 76 yards
Q1 PurduePunt, 3 plays, 4 yards
Q1 MichiganTouchdown, 7 plays, 67 yards
Q1 PurdueInterception, 1 play, 0 yards
Q1 MichiganField goal, 4 plays, 0 yards
Q1 PurduePunt, 3 plays, 6 yards
Q1 MichiganPunt, 8 plays, 27 yards
Q2 PurduePunt, 6 plays, 50 yards
Q2 MichiganField goal, 10 plays, 67 yards
Q2 PurduePunt, 3 plays, 4 yards
Q2 PurdueField goal, 6 plays, 19 yards
Q2 MichiganTurnover on downs, 4 plays, 9 yards
Q2 PurdueField goal, 6 plays, 20 yards
Q2 MichiganEnd of half, 4 plays, 17 yards
Q3 MichiganPunt, 6 plays, 19 yards
Q3 PurduePunt, 3 plays, 7 yards
Q3 MichiganPunt, 3 plays, 2 yards
Q3 PurduePunt, 5 plays, 20 yards
Q3 MichiganTouchdown, 4 plays, 62 yards
Q3 PurduePunt, 3 plays, 5 yards
Q3 MichiganTouchdown, 5 plays, 45 yards
Q4 PurduePunt, 3 plays, −1 yard
Q4 MichiganPunt, 5 plays, 19 yards
Q4 PurduePunt, 5 plays, 19 yards
Q4 MichiganTouchdown, 6 plays, 57 yards
Q4 PurdueTouchdown, 8 plays, 75 yards
Q4 MichiganEnd of game, 1 play, −2 yards
Play by play
1st quarter7 drives, then Michigan 17, Purdue 0
Purdue Punt, 4 plays
14:55
Tommy Doman kickoff for 65 yds
14:55
1st & 10 at own 12
Tyrone Tracy Jr. run for 10 yds to the PUR 22 for a 1ST down
14:55
1st & 10 at own 22
Hudson Card pass complete to Jayden Dixon-Veal for 3 yds to the PUR 25
14:55
2nd & 7 at own 25
Hudson Card pass incomplete
14:55
3rd & 7 at own 25
Hudson Card pass incomplete
13:33
4th & 7 at own 25
Jack Ansell punt for 52 yds
Michigan Touchdown, 6 plays
13:33
1st & 10 at own 24
J.J. McCarthy run for 3 yds to the MICH 27
13:33
2nd & 7 at own 27
Blake Corum run for no gain to the MICH 27
13:33
3rd & 7 at own 27
J.J. McCarthy pass complete to Roman Wilson for 20 yds to the MICH 47 for a 1ST down
13:33
1st & 10 at own 47
Kalel Mullings run for 14 yds to the PUR 39 for a 1ST down
13:33
1st & 10 at opp 39
J.J. McCarthy pass complete to Donovan Edwards for 37 yds to the PUR 2 for a 1ST down
10:30
1st & goal at opp 2
Blake Corum run for 2 yds for a TD (James Turner KICK)Michigan 7, Purdue 0
Purdue Punt, 3 plays
10:30
Tommy Doman kickoff for 65 yds for a touchback
10:23
1st & 10 at own 25
Devin Mockobee run for 4 yds to the PUR 29
10:23
2nd & 6 at own 29
Hudson Card run for no gain to the PUR 29
10:23
3rd & 6 at own 29
Hudson Card pass incomplete
9:19
4th & 6 at own 29
Jack Ansell punt for 38 yds, fair catch by Tyler Morris at the MICH 33
Michigan Touchdown, 7 plays
9:19
1st & 10 at own 33
Blake Corum run for 5 yds to the MICH 38
9:19
2nd & 5 at own 38
J.J. McCarthy pass complete to Roman Wilson for 20 yds to the PUR 42 for a 1ST down
9:19
1st & 10 at opp 42
J.J. McCarthy pass complete to Donovan Edwards for 4 yds to the PUR 38
9:19
2nd & 6 at opp 38
J.J. McCarthy pass incomplete
9:19
3rd & 6 at opp 38
J.J. McCarthy pass complete to Tyler Morris for 21 yds to the PUR 17 for a 1ST down
9:19
1st & 10 at opp 17
Cornelius Johnson run for 14 yds to the PUR 3 for a 1ST down
6:05
1st & goal at opp 3
Blake Corum run for 3 yds for a TD (James Turner KICK)Michigan 14, Purdue 0
6:05
Tommy Doman kickoff for 65 yds for a touchback
5:54
1st & 10 at own 25
Hudson Card pass intercepted
Michigan Field goal, 4 plays
5:54
1st & 10 at opp 12
Donovan Edwards run for no gain to the PUR 12
5:54
2nd & 10 at opp 12
J.J. McCarthy pass complete to Donovan Edwards for no gain to the PUR 12
5:54
3rd & 10 at opp 12
J.J. McCarthy pass incomplete
4:20
4th & 10 at opp 12
James Turner 30 yd FG GOODMichigan 17, Purdue 0
Purdue Punt, 3 plays
4:20
Tommy Doman kickoff for 65 yds for a touchback
4:20
1st & 10 at own 25
Devin Mockobee run for no gain to the PUR 25
4:20
2nd & 10 at own 25
Hudson Card pass complete to Tyrone Tracy Jr. for 9 yds to the PUR 34
4:20
3rd & 1 at own 34
Tyrone Tracy Jr. run for a loss of 3 yards to the PUR 31
2:29
4th & 4 at own 31
Jack Ansell punt for 48 yds, downed at the MICH 21
Michigan Punt, 8 plays
2:29
2nd & 1 at own 30
Blake Corum run for 3 yds to the MICH 33 for a 1ST down
2:29
1st & 10 at own 33
Blake Corum run for 5 yds to the MICH 38
2:29
2nd & 5 at own 38
J.J. McCarthy pass complete to Blake Corum for 4 yds to the MICH 42
2:29
1st & 10 at own 21
Blake Corum run for 9 yds to the MICH 30
0:00
3rd & 1 at own 42
Kalel Mullings run for 4 yds to the MICH 46 for a 1ST down
Q2 15:00
1st & 10 at own 46
J.J. McCarthy pass incomplete
Q2 15:00
2nd & 10 at own 46
Kalel Mullings run for 2 yds to the MICH 48
Q2 15:00
3rd & 8 at own 48
J.J. McCarthy pass incomplete
Q2 14:01
4th & 8 at own 48
Tommy Doman punt for 42 yds
2nd quarter7 drives, then Michigan 20, Purdue 6
Purdue Punt, 6 plays
14:01
1st & 10 at own 10
Hudson Card pass complete to Devin Mockobee for 4 yds to the PUR 14
14:01
2nd & 6 at own 14
Devin Mockobee run for 1 yd to the PUR 15
14:01
3rd & 5 at own 15
Hudson Card pass complete to Mershawn Rice for 43 yds to the MICH 42 for a 1ST down
14:01
1st & 10 at opp 42
Devin Mockobee run for 2 yds to the MICH 40
14:01
2nd & 8 at opp 40
Hudson Card pass incomplete
14:01
3rd & 8 at opp 40
Hudson Card pass incomplete
11:42
4th & 8 at opp 40
Jack Ansell punt for 40 yds for a touchback
Michigan Field goal, 10 plays
11:42
1st & 10 at own 20
Blake Corum run for a loss of 2 yards to the MICH 18
11:42
2nd & 12 at own 18
J.J. McCarthy pass complete to Colston Loveland for 17 yds to the MICH 35 for a 1ST down
11:42
1st & 10 at own 35
Purdue Penalty, Roughing the Passer on M’BA, Jeffrey enforced (Jeffrey M’Ba) to the PUR 43 for a 1ST down
11:42
1st & 10 at opp 43
Purdue Penalty, Unnecessary Roughness (15 Yards) to the PUR 28 for a 1ST down
11:42
1st & 10 at opp 28
MCCARTHY, J.J. pass to the right incomplete intended for MORGAN, Semaj thrown to the PUR15. PENALTY MIC Holding on CORUM, Blake enforced 10 yards from the PUR28 to the PUR38 [SG]. NO PLAY (replay the down).
11:42
1st & 20 at opp 38
J.J. McCarthy sacked by Cole Brevard for a loss of 7 yards to the PUR 45
8:40
3rd & 11 at opp 29
Timeout Michigan, clock 08:40
8:40
2nd & 27 at opp 45
J.J. McCarthy pass complete to Cornelius Johnson for 16 yds to the PUR 29
8:40
3rd & 11 at opp 29
J.J. McCarthy pass complete to Roman Wilson for 14 yds to the PUR 15 for a 1ST down
8:40
1st & 10 at opp 15
J.J. McCarthy pass incomplete
8:40
2nd & 10 at opp 15
Donovan Edwards run for 2 yds to the PUR 13
8:40
3rd & 8 at opp 13
J.J. McCarthy pass incomplete
7:10
4th & 8 at opp 13
James Turner 31 yd FG GOODMichigan 20, Purdue 0
Purdue Punt, 3 plays
7:10
Tommy Doman kickoff for 65 yds for a touchback
7:10
1st & 10 at own 25
Tyrone Tracy Jr. run for 2 yds to the PUR 27
7:10
2nd & 8 at own 27
CARD, Hudson pass to the left complete for 3 yards to BURKS, Deion caught at the PUR25 and advanced to the PUR30 (GRAHAM, Mason). PENALTY PUR Holding on SHEFFIELD, TJ enforced 10 yards from the PUR27 to the PUR17 [NHSG]. NO PLAY (replay the down).
7:10
2nd & 18 at own 17
Hudson Card pass incomplete
7:10
3rd & 18 at own 17
Hudson Card pass complete to Deion Burks for 12 yds to the PUR 29
5:12
4th & 6 at own 29
Jack Ansell punt for 37 yds , returns for no gain to the MICH 34
Purdue Field goal, 6 plays
5:12
1st & 10 at opp 34
Hudson Card pass incomplete
5:12
2nd & 10 at opp 34
Hudson Card run for 21 yds to the MICH 13 for a 1ST down
5:12
1st & 10 at opp 13
CARD, Hudson pass short to the right incomplete intended for MILLER, Garrett thrown to the MIC11. PENALTY PUR Ineligible Receiver Downfield on Pass on MILLER, Garrett enforced 5 yards from the MIC13 to the MIC18 [NHSG]. NO PLAY (replay the down).
5:12
1st & 15 at opp 18
Devin Mockobee run for 3 yds to the MICH 15
5:12
2nd & 12 at opp 15
Hudson Card pass incomplete
5:12
3rd & 12 at opp 15
Hudson Card pass incomplete
3:52
4th & 12 at opp 15
Ben Freehill 32 yd FG GOODMichigan 20, Purdue 3
Michigan Turnover on downs, 4 plays
3:52
Caleb Krockover kickoff for 65 yds for a touchback
3:52
1st & 10 at own 25
Blake Corum run for 3 yds to the MICH 28
3:52
2nd & 7 at own 28
J.J. McCarthy pass incomplete
3:52
3rd & 7 at own 28
J.J. McCarthy pass complete to Tyler Morris for 6 yds to the MICH 34
2:17
4th & 1 at own 34
Kalel Mullings run for no gain to the MICH 34
Purdue Field goal, 6 plays
2:17
1st & 10 at opp 34
Tyrone Tracy Jr. run for 7 yds to the MICH 27
2:17
2nd & 3 at opp 27
Tyrone Tracy Jr. run for 11 yds to the MICH 16 for a 1ST down
2:17
1st & 10 at opp 16
Tyrone Tracy Jr. run for a loss of 4 yards to the MICH 20
0:40
3rd & 8 at opp 14
Timeout Purdue, clock 00:40
0:40
2nd & 14 at opp 20
Hudson Card run for 6 yds to the MICH 14
0:40
3rd & 8 at opp 14
Hudson Card pass incomplete
0:29
4th & 8 at opp 14
Ben Freehill 31 yd FG GOODMichigan 20, Purdue 6
Michigan End of half, 4 plays
0:23
Caleb Krockover kickoff for 64 yds
0:23
1st & 10 at own 22
J.J. McCarthy pass complete to Colston Loveland for 12 yds to the MICH 34 for a 1ST down
0:07
1st & 10 at opp 43
Timeout Purdue, clock 00:07
0:07
1st & 10 at own 34
J.J. McCarthy pass complete to Cornelius Johnson for 23 yds to the PUR 43 for a 1ST down
0:07
1st & 10 at opp 43
J.J. McCarthy pass incomplete
0:00
2nd & 10 at opp 43
J.J. McCarthy sacked by Nic Scourton for a loss of 18 yards to the MICH 39
3rd quarter7 drives, then Michigan 27, Purdue 6
Michigan Punt, 6 plays
15:00
Caleb Krockover kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
J.J. McCarthy pass complete to Roman Wilson for 6 yds to the MICH 31
15:00
2nd & 4 at own 31
Blake Corum run for 2 yds to the MICH 33
15:00
3rd & 2 at own 33
J.J. McCarthy pass complete to Colston Loveland for 9 yds to the MICH 42 for a 1ST down
15:00
1st & 10 at own 42
J.J. McCarthy pass complete to Blake Corum for a loss of 1 yard to the MICH 41
15:00
2nd & 11 at own 41
Blake Corum run for 3 yds to the MICH 44
15:00
3rd & 8 at own 44
J.J. McCarthy pass incomplete
11:18
4th & 8 at own 44
Tommy Doman punt for 44 yds, fair catch by TJ Sheffield at the PUR 12
Purdue Punt, 3 plays
11:18
1st & 10 at own 12
Devin Mockobee run for 5 yds to the PUR 17
11:18
2nd & 5 at own 17
Devin Mockobee run for 2 yds to the PUR 19
11:18
3rd & 3 at own 19
Hudson Card pass incomplete
9:59
4th & 3 at own 19
Jack Ansell punt for 40 yds
Michigan Punt, 3 plays
9:59
1st & 10 at own 45
J.J. McCarthy pass incomplete
9:59
2nd & 10 at own 45
Blake Corum run for 2 yds to the MICH 47
9:59
3rd & 8 at own 47
J.J. McCarthy pass incomplete
8:59
4th & 8 at own 47
Tommy Doman punt for 48 yds, downed at the PUR 5
Purdue Punt, 5 plays
8:59
1st & 10 at own 5
Tyrone Tracy Jr. run for 4 yds to the PUR 9
8:59
2nd & 6 at own 9
Hudson Card pass complete to Garrett Miller for 9 yds to the PUR 18 for a 1ST down
8:59
1st & 10 at own 18
Hudson Card pass complete to Deion Burks for 7 yds to the PUR 25
8:59
2nd & 3 at own 25
Tyrone Tracy Jr. run for 2 yds to the PUR 27
8:59
3rd & 1 at own 27
QB Keeper CARD, Hudson rush up the middle for a gain of 2 yards to the PUR29 (BARRETT, Michael). PENALTY PUR Chop Block on JOHNSON, Daniel enforced half the distance from the goal, 13 yards from the PUR27 to the PUR14 [NHSG]. NO PLAY (replay the down).
8:59
3rd & 14 at own 14
Hudson Card pass complete to Jayden Dixon-Veal for 11 yds to the PUR 25
5:16
4th & 3 at own 25
Jack Ansell punt for 37 yds, fair catch by Jake Thaw at the MICH 38
Michigan Touchdown, 4 plays
5:16
1st & 10 at own 38
J.J. McCarthy pass complete to Semaj Morgan for 4 yds to the MICH 42
5:16
2nd & 6 at own 42
Blake Corum run for 3 yds to the MICH 45
5:16
3rd & 3 at own 45
J.J. McCarthy pass complete to Roman Wilson for 11 yds to the PUR 44 for a 1ST down
3:12
1st & 10 at opp 44
Semaj Morgan run for 44 yds for a TD (James Turner KICK)Michigan 27, Purdue 6
Purdue Punt, 3 plays
3:12
Tommy Doman kickoff for 65 yds for a touchback
3:12
1st & 10 at own 25
Hudson Card pass incomplete
3:12
2nd & 10 at own 25
Devin Mockobee run for 5 yds to the PUR 30
3:12
3rd & 5 at own 30
Hudson Card pass incomplete
2:06
4th & 5 at own 30
Jack Ansell punt for 47 yds
Michigan Touchdown, 5 plays
2:06
1st & 10 at opp 45
J.J. McCarthy pass complete to Roman Wilson for 19 yds to the PUR 26 for a 1ST down
2:06
1st & 10 at opp 26
Donovan Edwards run for 3 yds to the PUR 23
0:00
2nd & 7 at opp 23
J.J. McCarthy pass complete to Colston Loveland for 17 yds to the PUR 6 for a 1ST down
Q4 15:00
1st & goal at opp 6
Blake Corum run for 3 yds to the PUR 3
Q4 14:18
2nd & goal at opp 3
Blake Corum run for 3 yds for a TD (James Turner KICK)Michigan 34, Purdue 6
4th quarter6 drives, then Michigan 41, Purdue 13
Purdue Punt, 3 plays
14:18
Tommy Doman kickoff for 65 yds for a touchback
14:18
1st & 10 at own 25
Hudson Card run for 5 yds to the PUR 30
14:18
2nd & 5 at own 30
Hudson Card sacked by Josaiah Stewart and Kris Jenkins for a loss of 6 yards to the PUR 24
14:18
3rd & 11 at own 24
Hudson Card pass incomplete
13:03
4th & 11 at own 24
Brendan Cropsey punt for 39 yds
Michigan Punt, 5 plays
13:03
1st & 10 at own 39
Donovan Edwards run for 3 yds to the MICH 42
13:03
2nd & 7 at own 42
J.J. McCarthy pass complete to Semaj Morgan for 23 yds to the PUR 35 for a 1ST down
13:03
1st & 10 at opp 35
Donovan Edwards run for 2 yds to the PUR 33
13:03
2nd & 8 at opp 33
J.J. McCarthy sacked by Nic Scourton for a loss of 9 yards to the PUR 42
13:03
3rd & 17 at opp 42
J.J. McCarthy pass incomplete
9:47
4th & 17 at opp 42
Tommy Doman punt for 39 yds
Purdue Punt, 5 plays
9:47
1st & 10 at own 3
Devin Mockobee run for 4 yds to the PUR 7
9:47
2nd & 6 at own 7
Devin Mockobee run for 10 yds to the PUR 17 for a 1ST down
9:47
1st & 10 at own 17
Devin Mockobee run for 1 yd to the PUR 18
9:47
2nd & 9 at own 18
Hudson Card pass complete to Tyrone Tracy Jr. for 4 yds to the PUR 22
9:47
3rd & 5 at own 22
Hudson Card pass incomplete
7:21
4th & 5 at own 22
Brendan Cropsey punt for 35 yds, downed at the MICH 43
Michigan Touchdown, 6 plays
7:21
1st & 10 at own 43
J.J. McCarthy pass complete to Roman Wilson for 35 yds to the PUR 22 for a 1ST down
7:21
1st & 10 at opp 22
J.J. McCarthy pass incomplete
7:21
2nd & 10 at opp 22
Donovan Edwards run for 7 yds to the PUR 15
7:21
3rd & 3 at opp 15
J.J. McCarthy pass complete to Roman Wilson for 11 yds to the PUR 4 for a 1ST down
7:21
1st & goal at opp 4
Donovan Edwards run for 3 yds to the PUR 1
4:30
2nd & goal at opp 1
Donovan Edwards run for 1 yd for a TD (James Turner KICK)Michigan 41, Purdue 6
Purdue Touchdown, 8 plays
4:30
Tommy Doman kickoff for 65 yds
4:30
1st & 10 at own 25
Tyrone Tracy Jr. run for 2 yds to the PUR 27
4:30
2nd & 8 at own 27
Hudson Card pass complete to Jayden Dixon-Veal for 8 yds to the PUR 35 for a 1ST down
4:30
1st & 10 at own 35
Tyrone Tracy Jr. run for 24 yds to the MICH 41 for a 1ST down
4:30
1st & 10 at opp 41
Hudson Card pass complete to Jayden Dixon-Veal for 10 yds to the MICH 31 for a 1ST down
4:30
1st & 10 at opp 31
Tyrone Tracy Jr. run for 6 yds to the MICH 25
4:30
2nd & 4 at opp 25
Devin Mockobee run for no gain to the MICH 25
0:25
4th & 3 at opp 24
Timeout Purdue, clock 00:25
0:25
3rd & 4 at opp 25
Devin Mockobee run for 1 yd to the MICH 24
0:18
4th & 3 at opp 24
Hudson Card pass complete to Deion Burks for 24 yds for a TD (Ben Freehill KICK)Michigan 41, Purdue 13
Michigan End of game, 1 play
0:18
Timeout Michigan, clock 00:18
0:18
Caleb Krockover kickoff for 59 yds
0:00
1st & 10 at own 35
Kneel down by MIC at MIC33 (team loss of 2), clock 00:00.
Play-by-play from CollegeFootballData.com, as its scorers wrote it. The clock is the time left in the quarter; the spot is from the side of the team with the ball.