From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Purdue
Michigan
456
Total yards
386
366
Passing yards
161
90
Rushing yards
225
7.8
Yards per pass
9.5
2.4
Yards per rush
5.9
27
First downs
17
9–18
Third downs
6–12
1–1
Fourth downs
2–2
2
Turnovers
1
5–40
Penalties
3–25
33:42
Possession
26:18
0
Sacks (by defense)
4
Efficiency
Purdue
Michigan
45%
Success rate
46%
0.12
EPA per play
0.41
1.15
Explosiveness
1.53
0.02
Rushing EPA
0.23
0.18
Passing EPA
0.83
31%
Passing-down success
31%
−0.08
First-down EPA
0.23
0.01
Second-down EPA
0.14
0.57
Third-down EPA
0.99
4%
Havoc by its defense
15%
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 79% to win. Elo’s favorite won.
The line
Michigan −16, over/under 54.
The last line on file before kickoff: the consensus line when the books publish one, otherwise a single major sportsbook’s.
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, 3 plays, −10 yards
Q1 MichiganTouchdown, 7 plays, 55 yards
Q1 PurdueTouchdown, 10 plays, 92 yards
Q1 MichiganPunt, 3 plays, −3 yards
Q1 PurdueField goal, 11 plays, 46 yards
Q2 MichiganTouchdown, 13 plays, 75 yards
Q2 PurdueField goal, 13 plays, 47 yards
Q2 MichiganPunt, 3 plays, 8 yards
Q2 PurdueEnd of half, 5 plays, 17 yards
Q3 MichiganTouchdown, 5 plays, 75 yards
Q3 PurduePunt, 3 plays, 4 yards
Q3 MichiganTouchdown, 2 plays, 67 yards
Q3 PurdueInterception, 4 plays, 57 yards
Q3 MichiganPunt, 3 plays, 9 yards
Q3 PurdueField goal, 8 plays, 33 yards
Q3 MichiganInterception, 4 plays, 17 yards
Q3 PurdueField goal, 13 plays, 66 yards
Q4 MichiganPunt, 4 plays, 23 yards
Q4 PurdueInterception, 2 plays, 0 yards
Q4 MichiganTouchdown, 3 plays, 16 yards
Q4 PurdueField goal, 13 plays, 60 yards
Q4 MichiganTouchdown, 8 plays, 44 yards
Q4 PurdueEnd of game, 4 plays, 39 yards
Play by play
1st quarter5 drives, then Tied at 7
Purdue Punt, 3 plays
15:00
1st & 10 at own 35
Jake Moody kickoff for 60 yds , Dylan Downing return for 14 yds to the Prdue 19
14:55
1st & 10 at own 19
Aidan O’Connell pass complete to Charlie Jones for a loss of 6 yards to the Prdue 13
14:25
2nd & 16 at own 13
Aidan O’Connell pass complete to Devin Mockobee for 3 yds to the Prdue 16
13:45
3rd & 13 at own 16
Aidan O’Connell sacked by Jaylen Harrell for a loss of 7 yards to the Prdue 9
12:59
4th & 20 at own 9
Jack Ansell punt for 47 yds , A.J. Henning returns for 1 yd to the Mich 45
Michigan Touchdown, 7 plays
12:55
1st & 10 at own 45
Donovan Edwards run for no gain to the Mich 45
12:10
2nd & 10 at own 45
Donovan Edwards run for 1 yd to the Mich 46
11:40
3rd & 9 at own 46
J.J. McCarthy pass complete to Cornelius Johnson for 9 yds to the Prdue 45 for a 1ST down
10:44
1st & 10 at opp 45
J.J. McCarthy pass incomplete to Roman Wilson
10:40
2nd & 10 at opp 45
Donovan Edwards run for 4 yds to the Prdue 41
10:05
3rd & 6 at opp 41
J.J. McCarthy pass complete to Ronnie Bell for 16 yds to the Prdue 25 for a 1ST down
9:11
1st & 10 at opp 25
J.J. McCarthy pass complete to Colston Loveland for 25 yds for a TD (Jake Moody KICK)Michigan 7, Purdue 0
Purdue Touchdown, 10 plays
9:11
1st & 10 at own 35
Jake Moody kickoff for 65 yds , Kobe Lewis return for 18 yds to the MICHIGAN 47 PURDUE Penalty, Illegal Block (10 Yards) to the Prdue 8
9:00
1st & 10 at own 8
Devin Mockobee run for 1 yd to the Prdue 9
8:30
2nd & 9 at own 9
Aidan O’Connell pass complete to Mershawn Rice for 13 yds to the Prdue 22 for a 1ST down
8:00
1st & 10 at own 22
Aidan O’Connell pass complete to Devin Mockobee for 5 yds to the Prdue 27
7:15
2nd & 5 at own 27
Aidan O’Connell pass complete to Devin Mockobee for 9 yds to the Prdue 36 for a 1ST down
6:45
1st & 10 at own 36
Aidan O’Connell run for a loss of 4 yards to the Prdue 33 Aidan O’Connell fumbled, recovered by Prdue Aidan O’Connell Aidan O’Connell run for 1 yd to the Prdue 33
6:05
2nd & 13 at own 33
Aidan O’Connell pass complete to Charlie Jones for 15 yds to the Prdue 48 for a 1ST down
5:55
1st & 10 at own 48
Aidan O’Connell pass complete to Charlie Jones for 14 yds to the Mich 38 for a 1ST down
5:35
1st & 10 at opp 38
Aidan O’Connell pass complete to Charlie Jones for 17 yds to the Mich 21 for a 1ST down
4:54
1st & 10 at opp 21
Tyrone Tracy run for 20 yds to the Mich 1 for a 1ST down
4:13
1st & goal at opp 1
Devin Mockobee run for 1 yd for a TD (Mitchell Fineran KICK)Tied at 7
Michigan Punt, 3 plays
4:13
1st & 10 at own 35
Chris Van Eekeren kickoff for 65 yds for a touchback
4:10
1st & 10 at own 25
J.J. McCarthy run for 1 yd to the Mich 26 MICHIGAN Penalty, Illegal Forward Pass (-5 Yards) to the Mich 21
4:08
2nd & 14 at own 21
Donovan Edwards run for 1 yd to the Mich 22
3:20
3rd & 13 at own 22
J.J. McCarthy pass incomplete to Ronnie Bell
3:11
4th & 13 at own 22
Brad Robbins punt for 40 yds , Charlie Jones returns for no gain to the Prdue 38
Purdue Field goal, 11 plays
3:05
1st & 10 at own 38
Charlie Jones run for 1 yd to the Prdue 39
2:44
2nd & 9 at own 39
Aidan O’Connell pass complete to Payne Durham for 5 yds to the Prdue 44
2:01
3rd & 4 at own 44
Aidan O’Connell pass incomplete to Charlie Jones, broken up by DJ Turner
1:55
4th & 4 at own 44
Payne Durham run for 4 yds to the Prdue 48 for a 1ST down
1:30
1st & 10 at own 48
Aidan O’Connell pass complete to Charlie Jones for 25 yds to the Mich 27 for a 1ST down
1:05
1st & 10 at opp 27
Devin Mockobee run for 4 yds to the Mich 23
1:00
2nd & 6 at opp 23
Aidan O’Connell pass complete to Charlie Jones for 8 yds to the Mich 15 for a 1ST down
0:35
1st & 10 at opp 15
Devin Mockobee run for 2 yds to the Mich 13
Q2 15:00
2nd & 8 at opp 13
Aidan O’Connell run for a loss of 4 yards to the Mich 17 Aidan O’Connell fumbled, recovered by Prdue Aidan O’Connell Aidan O’Connell run for no gain to the Mich 17
Q2 14:30
3rd & 12 at opp 17
Aidan O’Connell pass complete to Charlie Jones for 1 yd to the Mich 16
Chris Van Eekeren kickoff for 65 yds for a touchback
1:20
1st & 10 at own 25
J.J. McCarthy pass complete to Donovan Edwards for 4 yds to the Mich 29
1:05
2nd & 6 at own 29
J.J. McCarthy pass incomplete to Cornelius Johnson
0:57
3rd & 6 at own 29
J.J. McCarthy run for 4 yds to the Mich 33
0:51
4th & 2 at own 33
Brad Robbins punt for 39 yds, fair catch by Charlie Jones at the Prdue 28
Purdue End of half, 5 plays
0:50
1st & 10 at own 28
Aidan O’Connell pass complete to Devin Mockobee for 4 yds to the Prdue 32
0:25
2nd & 6 at own 32
Aidan O’Connell pass complete to TJ Sheffield for 20 yds to the Mich 48 for a 1ST down
0:16
1st & 10 at opp 48
PURDUE Penalty, Offensive Holding (-10 Yards) to the Prdue 42
0:14
1st & 20 at own 42
Devin Mockobee run for 3 yds to the Prdue 45
0:12
2nd & 17 at own 45
Timeout PURDUE, clock 00:12
0:10
2nd & 17 at own 45
Aidan O’Connell pass complete to Dylan Downing for 13 yds to the Mich 42
0:04
3rd & 4 at opp 42
Timeout PURDUE, clock 00:04
0:00
3rd & 4 at opp 42
Aidan O’Connell sacked by Michael Barrett for a loss of 13 yards to the MICHIGAN 45 PURDUE Penalty, Intentional Grounding (Aidan O’Connell) to the Prdue 45
3rd quarter8 drives, then Michigan 28, Purdue 16
Michigan Touchdown, 5 plays
15:00
1st & 10 at own 35
Chris Van Eekeren kickoff for 65 yds for a touchback
14:55
1st & 10 at own 25
Donovan Edwards run for 60 yds to the Prdue 15 for a 1ST down
14:12
1st & 10 at opp 15
J.J. McCarthy pass complete to Ronnie Bell for 4 yds to the Prdue 11
13:35
2nd & 6 at opp 11
Donovan Edwards run for 4 yds to the Prdue 7
13:01
3rd & 2 at opp 7
Kalel Mullings run for 6 yds to the Prdue 1 for a 1ST down
12:25
1st & goal at opp 1
Kalel Mullings run for 1 yd for a TD (Jake Moody KICK)Michigan 21, Purdue 13
Purdue Punt, 3 plays
12:25
1st & 10 at own 35
Jake Moody kickoff for 65 yds for a touchback
12:10
1st & 10 at own 25
Aidan O’Connell pass complete to Charlie Jones for 4 yds to the Prdue 29
11:50
2nd & 6 at own 29
Devin Mockobee run for no gain to the Prdue 29
11:27
3rd & 6 at own 29
Aidan O’Connell pass incomplete to Deion Burks
11:20
4th & 6 at own 29
Jack Ansell punt for 38 yds, fair catch by A.J. Henning at the Mich 33
Michigan Touchdown, 2 plays
11:10
1st & 10 at own 33
J.J. McCarthy pass complete to Luke Schoonmaker for 40 yds to the Prdue 27 for a 1ST down
10:32
1st & 10 at opp 27
Donovan Edwards run for 27 yds for a TD (Jake Moody KICK)Michigan 28, Purdue 13
Purdue Interception, 4 plays
10:32
1st & 10 at own 35
Jake Moody kickoff for 65 yds for a touchback
10:30
1st & 10 at own 25
Aidan O’Connell pass incomplete
10:22
2nd & 10 at own 25
Aidan O’Connell pass complete to Charlie Jones for 32 yds to the Mich 43 for a 1ST down
9:55
1st & 10 at opp 43
Devin Mockobee run for 25 yds to the Mich 18 for a 1ST down
9:29
1st & 10 at opp 18
Aidan O’Connell pass intercepted Will Johnson return for no gain to the Mich 1
Michigan Punt, 3 plays
9:25
1st & 10 at own 1
J.J. McCarthy run for 4 yds to the Mich 5
9:05
2nd & 6 at own 5
Kalel Mullings run for 4 yds to the Mich 9
7:57
3rd & 2 at own 9
Kalel Mullings run for 1 yd to the Mich 10
7:38
4th & 1 at own 10
Brad Robbins punt for 49 yds, fair catch by Charlie Jones at the Prdue 41
Purdue Field goal, 8 plays
7:35
1st & 10 at own 41
Devin Mockobee run for 1 yd to the Prdue 42
6:57
2nd & 9 at own 42
O’Connell, Aidan pass incomplete to Jones, Charlie, PENALTY MICHIGAN pass interference 15 yards to the MICHIGAN43, NO PLAY, 1ST DOWN PURDUE.
6:45
1st & 10 at opp 43
Tyrone Tracy run for 5 yds to the Mich 38
6:25
2nd & 5 at opp 38
Aidan O’Connell pass complete to Devin Mockobee for 4 yds to the Mich 34
5:40
3rd & 1 at opp 34
Aidan O’Connell pass complete to Paul Piferi for 26 yds to the Mich 8 for a 1ST down
5:24
1st & goal at opp 8
Devin Mockobee run for a loss of 3 yards to the Mich 11
4:40
2nd & goal at opp 11
Aidan O’Connell pass complete to TJ Sheffield for 3 yds to the Mich 8
3:55
3rd & goal at opp 8
Aidan O’Connell sacked by Taylor Upshaw and Eyabi Okie for a loss of 3 yards to the Mich 11
3:53
4th & goal at opp 11
PURDUE Penalty, Unsportsmanlike Conduct (-15 Yards) to the Mich 26
Ben Freehill on-side kick recovered by MICHIGAN at the Prdue 44
5:00
1st & 10 at opp 44
Donovan Edwards run for 1 yd to the Prdue 43
4:15
2nd & 9 at opp 43
Donovan Edwards run for 7 yds to the Prdue 36
3:45
3rd & 2 at opp 36
Donovan Edwards run for no gain to the Prdue 36
3:34
4th & 2 at opp 36
Timeout PURDUE, clock 03:34
3:30
4th & 2 at opp 36
Kalel Mullings run for 4 yds to the Prdue 32 for a 1ST down
2:54
1st & 10 at opp 32
Donovan Edwards run for 6 yds to the Prdue 26
2:54
2nd & 4 at opp 26
Timeout PURDUE, clock 02:54
2:45
2nd & 4 at opp 26
Donovan Edwards run for 18 yds to the Prdue 8 for a 1ST down
2:00
1st & goal at opp 8
Kalel Mullings run for 5 yds to the Prdue 3
1:22
2nd & goal at opp 3
Kalel Mullings run for 3 yds for a TD (Jake Moody KICK)Michigan 43, Purdue 22
Purdue End of game, 4 plays
1:22
2nd & 5 at own 35
Jake Moody kickoff for 65 yds for a touchback
1:15
1st & 10 at own 25
Aidan O’Connell pass complete to Charlie Jones for 18 yds to the Prdue 43 for a 1ST down
1:10
1st & 10 at own 43
Aidan O’Connell pass complete to TJ Sheffield for 11 yds to the Mich 46 for a 1ST down
0:54
1st & 10 at opp 46
O’Connell, Aidan pass complete to Tracy, Tyrone for 1 yard to the MICHIGAN45, PENALTY MICHIGAN offside 5 yards to the MICHIGAN41, NO PLAY.
0:44
1st & 5 at opp 41
Dylan Downing run for 4 yds to the Mich 37
0:21
2nd & 1 at opp 37
Dylan Downing run for 1 yd to the Mich 36 for a 1ST down
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.