From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Northwestern
Duke
267
Total yards
487
163
Passing yards
219
104
Rushing yards
268
4.1
Yards per pass
11.0
3.5
Yards per rush
6.7
19
First downs
25
9–18
Third downs
5–9
1–3
Fourth downs
0–1
1
Turnovers
0
1–8
Penalties
1–15
28:54
Possession
31:06
2
Sacks (by defense)
2
Efficiency
Northwestern
Duke
44%
Success rate
59%
−0.05
EPA per play
0.41
1.02
Explosiveness
1.19
0.17
Rushing EPA
0.39
−0.10
Passing EPA
0.44
33%
Passing-down success
50%
0.00
First-down EPA
0.47
−0.23
Second-down EPA
0.38
0.41
Third-down EPA
0.76
10%
Havoc by its defense
16%
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)
Duke 81% to win. Elo’s favorite won.
The line
Duke −17, over/under 48.
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 Duke 88%, Northwestern 12%. 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. Duke drives left to right, Northwestern right to left.
Q1 NorthwesternPunt, 3 plays, 9 yards
Q1 DukeTouchdown, 6 plays, 56 yards
Q1 NorthwesternPunt, 5 plays, 11 yards
Q1 DukeTurnover on downs, 5 plays, 22 yards
Q1 NorthwesternPunt, 6 plays, 7 yards
Q1 DukeTouchdown, 8 plays, 89 yards
Q2 NorthwesternPunt, 3 plays, 6 yards
Q2 DukeField goal, 7 plays, 56 yards
Q2 NorthwesternTouchdown, 15 plays, 73 yards
Q2 DukeEnd of half, 4 plays, 15 yards
Q3 DukeTouchdown, 9 plays, 80 yards
Q3 NorthwesternPunt, 5 plays, 23 yards
Q3 DukeTouchdown, 12 plays, 94 yards
Q3 NorthwesternTurnover on downs, 13 plays, 63 yards
Q4 DukePunt, 4 plays, 19 yards
Q4 NorthwesternTurnover on downs, 7 plays, 18 yards
Q4 DukeTouchdown, 4 plays, 26 yards
Q4 NorthwesternTouchdown, 13 plays, 71 yards
Q4 DukeEnd of game, 2 plays, 30 yards
Play by play
1st quarter6 drives, then Duke 7, Northwestern 0
Northwestern Punt, 3 plays
15:00
Ryan Degyansky kickoff for 65 yds
15:00
1st & 10 at own 25
A.J. Henning run for 9 yds to the NU 34
14:39
2nd & 1 at own 34
Ben Bryant pass incomplete
14:34
3rd & 1 at own 34
Ben Bryant run for no gain to the NU 34
13:51
4th & 1 at own 34
Hunter Renner punt for 22 yds, downed at the DUKE 44
Duke Touchdown, 6 plays
13:42
1st & 10 at own 44
Riley Leonard pass incomplete
13:38
2nd & 10 at own 44
Riley Leonard run for 9 yds to the NU 47
12:55
3rd & 1 at opp 47
Jordan Waters run for 7 yds to the NU 40 for a 1ST down
12:14
1st & 10 at opp 40
Riley Leonard pass complete to Sahmir Hagans for 4 yds to the NU 36
11:51
2nd & 6 at opp 36
Riley Leonard pass complete to Nicky Dalmolin for 12 yds to the NU 24 for a 1ST down
11:06
1st & 10 at opp 24
Jordan Waters run for 24 yds for a TD (Todd Pelino KICK)Duke 7, Northwestern 0
Northwestern Punt, 5 plays
11:06
Ryan Degyansky kickoff for 65 yds for a touchback
11:06
1st & 10 at own 25
Cam Porter run for 4 yds to the NU 29
10:47
2nd & 6 at own 29
Ben Bryant pass complete to Cam Johnson for 7 yds to the NU 36 for a 1ST down
10:12
1st & 10 at own 36
Ben Bryant pass incomplete
10:07
2nd & 10 at own 36
Joseph Himon II run for no gain to the NU 36
9:26
3rd & 10 at own 36
Ben Bryant pass incomplete
9:20
4th & 10 at own 36
Hunter Renner punt for 29 yds
Duke Turnover on downs, 5 plays
9:15
1st & 10 at own 35
Riley Leonard pass complete to Jalon Calhoun for 13 yds to the DUKE 48 for a 1ST down
8:59
1st & 10 at own 48
Riley Leonard run for 7 yds to the NU 45
8:13
2nd & 3 at opp 45
Jaquez Moore run for a loss of 1 yard to the NU 46
7:33
3rd & 4 at opp 46
Jaquez Moore run for 3 yds to the NU 43
6:49
4th & 1 at opp 43
Riley Leonard run for no gain to the NU 43
Northwestern Punt, 6 plays
6:39
1st & 10 at own 43
Ben Bryant pass incomplete
6:35
2nd & 10 at own 43
Cam Porter run for 2 yds to the NU 45
5:58
3rd & 8 at own 45
Ben Bryant pass complete to Bryce Kirtz for 11 yds to the DUKE 44 for a 1ST down
5:40
1st & 10 at opp 44
Cam Porter run for 4 yds to the DUKE 40
5:01
2nd & 6 at opp 40
Ben Bryant run for a loss of 2 yards to the DUKE 42
4:18
3rd & 8 at opp 42
Ben Bryant sacked by Kendall Johnson for a loss of 8 yards to the 50 yard line
3:40
4th & 16 at the 50
Hunter Renner punt for 39 yds, downed at the DUKE 11
Duke Touchdown, 8 plays
3:31
1st & 10 at own 11
Jaquez Moore run for 15 yds to the DUKE 26 for a 1ST down
2:56
1st & 10 at own 26
Riley Leonard pass complete to Jordan Moore for 13 yds to the DUKE 39 for a 1ST down
2:09
1st & 10 at own 39
Jaquez Moore run for 15 yds to the NU 46 for a 1ST down
1:49
1st & 10 at opp 46
Riley Leonard pass complete to Jalon Calhoun for 34 yds to the NU 12 for a 1ST down
1:04
1st & 10 at opp 12
Jordan Waters run for 5 yds to the NU 7
0:24
2nd & 5 at opp 7
Riley Leonard run for 6 yds to the NU 1 for a 1ST down
Q2 15:00
1st & goal at opp 1
Jordan Waters run for a loss of 1 yard to the NU 2
Q2 14:19
2nd & goal at opp 2
Jordan Waters run for 2 yds for a TD (Todd Pelino KICK)Duke 14, Northwestern 0
2nd quarter4 drives, then Duke 17, Northwestern 7
Northwestern Punt, 3 plays
14:19
Ryan Degyansky kickoff for 61 yds
14:14
1st & 10 at own 31
Cam Porter run for 5 yds to the NU 36
13:48
2nd & 5 at own 36
Cam Porter run for 1 yd to the NU 37
13:10
3rd & 4 at own 37
Ben Bryant pass incomplete
13:03
4th & 4 at own 37
Hunter Renner punt for 36 yds
Duke Field goal, 7 plays
12:56
1st & 10 at own 27
Riley Leonard pass complete to Jordan Moore for 4 yds to the DUKE 31
12:34
2nd & 6 at own 31
Riley Leonard pass complete to Jalon Calhoun for 13 yds to the DUKE 44 for a 1ST down
11:59
1st & 10 at own 44
Riley Leonard run for 33 yds to the NU 23 for a 1ST down
11:12
1st & 10 at opp 23
Timeout Duke, clock 11:12
11:12
1st & 10 at opp 23
Jaquez Moore run for 1 yd to the NU 22
10:33
2nd & 9 at opp 22
Jaquez Moore run for a loss of 1 yard to the NU 23
9:48
3rd & 10 at opp 23
Riley Leonard run for 6 yds to the NU 17
9:06
4th & 4 at opp 17
Todd Pelino 35 yd FG GOODDuke 17, Northwestern 0
Northwestern Touchdown, 15 plays
9:06
Ryan Degyansky kickoff for 59 yds
9:00
1st & 10 at own 27
Timeout Northwestern, clock 09:00
9:00
1st & 10 at own 27
A.J. Henning run for 5 yds to the NU 32
8:29
2nd & 5 at own 32
Joseph Himon II run for 1 yd to the NU 33
7:50
3rd & 4 at own 33
Ben Bryant pass complete to Cam Johnson for 9 yds to the NU 42 for a 1ST down
7:26
1st & 10 at own 42
Cam Porter run for 5 yds to the NU 47
6:58
2nd & 5 at own 47
Cam Porter run for 3 yds to the 50 yard line
6:18
3rd & 2 at the 50
A.J. Henning run for 3 yds to the DUKE 47 for a 1ST down
5:47
1st & 10 at opp 47
Ben Bryant pass complete to Marshall Lang for 8 yds to the DUKE 39
5:11
2nd & 2 at opp 39
Joseph Himon II run for 3 yds to the DUKE 36 for a 1ST down
4:31
1st & 10 at opp 36
Jack Lausch run for 4 yds to the DUKE 32
3:59
2nd & 6 at opp 32
Joseph Himon II run for 6 yds to the DUKE 26 for a 1ST down
3:26
1st & 10 at opp 26
Ben Bryant pass complete to A.J. Henning for 5 yds to the DUKE 21
2:55
2nd & 5 at opp 21
Cam Porter run for a loss of 2 yards to the DUKE 23
2:10
3rd & 7 at opp 23
Ben Bryant pass complete to Bryce Kirtz for 9 yds to the DUKE 14 for a 1ST down
1:26
1st & 10 at opp 14
Jack Lausch run for no gain to the DUKE 14
0:34
2nd & 10 at opp 14
Ben Bryant pass complete to A.J. Henning for 14 yds for a TD (Jack Olsen KICK)Duke 17, Northwestern 7
Duke End of half, 4 plays
0:34
Henry Helms kickoff for 39 yds
0:34
1st & 10 at own 26
Riley Leonard pass complete to Jalon Calhoun for 24 yds to the 50 yard line for a 1ST down
0:23
1st & 10 at the 50
Riley Leonard pass incomplete
0:16
2nd & 10 at the 50
Riley Leonard sacked by Anto Saka for a loss of 2 yards to the DUKE 48
0:03
3rd & 12 at own 48
Timeout Duke, clock 00:03
0:03
3rd & 12 at own 48
Henry Belin IV sacked by Xander Mueller and Richie Hagarty for a loss of 7 yards to the DUKE 41
3rd quarter4 drives, then Duke 31, Northwestern 7
Duke Touchdown, 9 plays
15:00
Henry Helms kickoff for 61 yds
14:56
1st & 10 at own 20
Riley Leonard pass complete to Nicky Dalmolin for 5 yds to the DUKE 25
14:24
2nd & 5 at own 25
Jordan Waters run for 4 yds to the DUKE 29
13:49
3rd & 1 at own 29
Riley Leonard pass complete to Jordan Moore for 4 yds to the DUKE 33 for a 1ST down
13:12
1st & 10 at own 33
Riley Leonard run for 7 yds to the DUKE 40
12:34
2nd & 3 at own 40
Northwestern Penalty, unsportsmanlike conduct (20 Yards) to the NU 40 for a 1ST down
12:02
1st & 10 at opp 40
Riley Leonard pass complete to Jordan Waters for 10 yds to the NU 30 for a 1ST down
11:20
1st & 10 at opp 30
Jordan Waters run for 2 yds to the NU 28
10:47
2nd & 8 at opp 28
Riley Leonard pass complete to Jordan Moore for 25 yds to the NU 3 for a 1ST down
10:01
1st & goal at opp 3
Riley Leonard run for 3 yds for a TD (Todd Pelino KICK)Duke 24, Northwestern 7
Northwestern Punt, 5 plays
10:01
Ryan Degyansky kickoff for 65 yds for a touchback
10:01
1st & 10 at own 25
Ben Bryant pass incomplete
9:57
2nd & 10 at own 25
Cam Porter run for 25 yds to the 50 yard line for a 1ST down
9:30
1st & 10 at the 50
Ben Bryant pass complete to A.J. Henning for a loss of 2 yards to the NU 48
8:54
2nd & 12 at own 48
Ben Bryant pass incomplete
8:45
3rd & 12 at own 48
Ben Bryant pass incomplete
8:40
4th & 12 at own 48
Hunter Renner punt for 46 yds, fair catch by Jalon Calhoun at the DUKE 6
Duke Touchdown, 12 plays
8:35
1st & 10 at own 6
Riley Leonard run for 13 yds to the DUKE 19 for a 1ST down
8:04
1st & 10 at own 19
Jaquez Moore run for 4 yds to the DUKE 23
7:27
2nd & 6 at own 23
Riley Leonard pass incomplete
7:21
3rd & 6 at own 23
Riley Leonard pass complete to Jalon Calhoun for 28 yds to the NU 49 for a 1ST down
6:55
1st & 10 at opp 49
Riley Leonard pass incomplete
6:47
2nd & 10 at opp 49
Riley Leonard pass complete to Jordan Moore for 10 yds to the NU 39 for a 1ST down
6:08
1st & 10 at opp 39
Jaquez Moore run for 19 yds to the NU 20 for a 1ST down
5:27
1st & 10 at opp 20
Riley Leonard pass incomplete
5:20
2nd & 10 at opp 20
Riley Leonard run for 12 yds to the NU 8 for a 1ST down
4:38
1st & goal at opp 8
Jordan Waters run for 5 yds to the NU 3
3:56
2nd & goal at opp 3
Jaquez Moore run for 1 yd to the NU 2
3:08
3rd & goal at opp 2
Riley Leonard run for 2 yds for a TD (Todd Pelino KICK)Duke 31, Northwestern 7
Northwestern Turnover on downs, 13 plays
3:08
Ryan Degyansky kickoff for 65 yds
3:01
1st & 10 at own 28
Ben Bryant pass complete to Cam Johnson for 13 yds to the NU 41 for a 1ST down
2:40
1st & 10 at own 41
Ben Bryant pass complete to Cam Porter for 2 yds to the NU 43
2:10
2nd & 8 at own 43
Ben Bryant pass incomplete
2:05
3rd & 8 at own 43
Duke Penalty, Unsportsmanlike Conduct (Al Blades Jr.) to the DUKE 42 for a 1ST down
1:59
1st & 10 at opp 42
Ben Bryant pass incomplete
1:54
2nd & 10 at opp 42
Ben Bryant pass incomplete
1:50
3rd & 10 at opp 42
Ben Bryant pass complete to A.J. Henning for 2 yds to the DUKE 40
1:05
4th & 8 at opp 40
Ben Bryant pass complete to Cam Johnson for 9 yds to the DUKE 31 for a 1ST down
0:42
1st & 10 at opp 31
Ben Bryant pass complete to Bryce Kirtz for 20 yds to the DUKE 11 for a 1ST down
0:19
1st & 10 at opp 11
Ben Bryant pass complete to Cam Porter for 2 yds to the DUKE 9
Q4 15:00
2nd & 8 at opp 9
Ben Bryant pass incomplete
Q4 14:56
3rd & 8 at opp 9
Ben Bryant pass incomplete
Q4 14:53
4th & 8 at opp 9
Ben Bryant pass incomplete
4th quarter5 drives, then Duke 38, Northwestern 14
Duke Punt, 4 plays
14:47
1st & 10 at own 9
Jordan Waters run for 14 yds to the DUKE 23 for a 1ST down
14:05
1st & 10 at own 23
Jordan Waters run for 3 yds to the DUKE 26
13:19
2nd & 7 at own 26
Peyton Jones run for 1 yd to the DUKE 27
12:34
3rd & 6 at own 27
Timeout Duke, clock 12:34
12:34
3rd & 6 at own 27
Riley Leonard run for 1 yd to the DUKE 28
11:53
4th & 5 at own 28
Timeout Duke, clock 11:53
11:53
4th & 5 at own 28
Porter Wilson punt for 53 yds , returns for no gain to the NU 8
Northwestern Turnover on downs, 7 plays
11:42
1st & 10 at own 8
Ben Bryant pass complete to Bryce Kirtz for 2 yds to the NU 10
11:10
2nd & 8 at own 10
Ben Bryant pass complete to Cam Johnson for 7 yds to the NU 17
10:40
3rd & 1 at own 17
Cam Porter run for 2 yds to the NU 19 for a 1ST down
10:15
1st & 10 at own 19
Ben Bryant run for 3 yds to the NU 22
9:46
2nd & 7 at own 22
Ben Bryant pass complete to A.J. Henning for 5 yds to the NU 27
9:05
3rd & 2 at own 27
Ben Bryant pass incomplete
8:59
4th & 2 at own 27
Ben Bryant pass intercepted
Duke Touchdown, 4 plays
8:52
1st & 10 at opp 26
Jaquez Moore run for 5 yds to the NU 21
8:05
2nd & 5 at opp 21
Peyton Jones run for 3 yds to the NU 18
7:21
3rd & 2 at opp 18
Peyton Jones run for 3 yds to the NU 15 for a 1ST down
6:32
1st & 10 at opp 15
Peyton Jones run for 15 yds for a TD (Todd Pelino KICK)Duke 38, Northwestern 7
Northwestern Touchdown, 13 plays
6:32
Ryan Degyansky kickoff for 61 yds
6:28
1st & 10 at own 29
Brendan Sullivan pass complete to Caleb Komolafe for 14 yds to the NU 43 for a 1ST down
6:11
1st & 10 at own 43
Brendan Sullivan pass complete to Caleb Komolafe for 9 yds to the DUKE 48
5:42
2nd & 1 at opp 48
Brendan Sullivan sacked by Aaron Hall and Michael Reese for a loss of 3 yards to the NU 49
5:12
3rd & 4 at own 49
Brendan Sullivan run for 6 yds to the DUKE 45 for a 1ST down
4:50
1st & 10 at opp 45
Brendan Sullivan pass complete to Caleb Komolafe for 3 yds to the DUKE 42
4:20
2nd & 7 at opp 42
Brendan Sullivan pass complete to Lawson Albright for 6 yds to the DUKE 36
3:56
3rd & 1 at opp 36
Joseph Himon II run for 4 yds to the DUKE 32 for a 1ST down
3:32
1st & 10 at opp 32
Brendan Sullivan pass complete to Calvin Johnson II for 8 yds to the DUKE 24
3:09
2nd & 2 at opp 24
Brendan Sullivan run for 1 yd to the DUKE 23
2:42
3rd & 1 at opp 23
Joseph Himon II run for 5 yds to the DUKE 18 for a 1ST down
2:13
1st & 10 at opp 18
Brendan Sullivan run for 8 yds to the DUKE 10
1:36
2nd & 2 at opp 10
Brendan Sullivan pass incomplete
1:27
3rd & 2 at opp 10
Brendan Sullivan run for 10 yds for a TD (Jack Olsen KICK)Duke 38, Northwestern 14
Duke End of game, 2 plays
1:27
Henry Helms kickoff for 60 yds
1:27
1st & 10 at own 25
Travis Bates run for 32 yds to the NU 43 for a 1ST down
0:40
1st & 10 at opp 43
(00:40) Kneel down by DU at NU45 (team loss of 2).
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.