From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Duke
Wake Forest
333
Total yards
318
235
Passing yards
207
98
Rushing yards
111
6.9
Yards per pass
6.9
3.8
Yards per rush
2.6
18
First downs
20
5–13
Third downs
10–19
0–0
Fourth downs
0–0
2
Turnovers
1
2–15
Penalties
5–37
24:56
Possession
35:04
5
Sacks (by defense)
1
Efficiency
Duke
Wake Forest
48%
Success rate
36%
0.05
EPA per play
0.16
0.95
Explosiveness
1.45
−0.05
Rushing EPA
−0.06
0.13
Passing EPA
0.41
18%
Passing-down success
37%
−0.04
First-down EPA
−0.11
0.11
Second-down EPA
−0.10
0.14
Third-down EPA
0.91
21%
Havoc by its defense
20%
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 69% to win. Elo’s favorite won.
The line
Duke −3.5, over/under 53.
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 59%, Wake Forest 41%. 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. Wake Forest drives left to right, Duke right to left.
Q1 Wake ForestPunt, 6 plays, 9 yards
Q1 DukePunt, 3 plays, 8 yards
Q1 Wake ForestMissed FG, 13 plays, 50 yards
Q1 DukePunt, 3 plays, 7 yards
Q1 Wake ForestPunt, 3 plays, 9 yards
Q1 DukeField goal, 8 plays, 41 yards
Q2 Wake ForestTouchdown, 7 plays, 77 yards
Q2 DukeInterception, 3 plays, 27 yards
Q2 Wake ForestField goal, 11 plays, 51 yards
Q2 DukePunt, 6 plays, 21 yards
Q2 Wake ForestPunt, 6 plays, 15 yards
Q2 DukeEnd of half, 2 plays, 18 yards
Q3 DukePunt, 3 plays, −1 yard
Q3 Wake ForestPunt, 3 plays, 7 yards
Q3 DukeFumble, 3 plays, 1 yard
Q3 Wake ForestTouchdown, 3 plays, 14 yards
Q3 DukePunt, 6 plays, 32 yards
Q3 Wake ForestPunt, 6 plays, 9 yards
Q3 DukeTouchdown, 4 plays, 42 yards
Q3 DukeTouchdown, 7 plays, 45 yards
Q4 Wake ForestPunt, 12 plays, 36 yards
Q4 DukePunt, 6 plays, 18 yards
Q4 Wake ForestPunt, 5 plays, 11 yards
Q4 DukeTouchdown, 7 plays, 76 yards
Play by play
1st quarter6 drives, then Tied at 0
Wake Forest Punt, 6 plays
15:00
Cosme Salas kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Demond Claiborne run for 1 yd to the WAKE 26
15:00
2nd & 9 at own 26
Hank Bachmeier pass complete to Taylor Morin for 5 yds to the WAKE 31
15:00
3rd & 4 at own 31
Demond Claiborne run for 12 yds to the WAKE 43 for a 1ST down
15:00
1st & 10 at own 43
Demond Claiborne run for no gain to the WAKE 43
15:00
2nd & 10 at own 43
Hank Bachmeier pass complete to Taylor Morin for 6 yds to the WAKE 49
15:00
3rd & 4 at own 49
BACHMEIER, Hank pass deep to the right complete for 17 yards to FIELDS, Horatio caught at the DUKE34 and advanced to the DUKE34, out of bounds. PENALTY WAKEF Face mask on CLAIBORNE, Demond enforced 15 yards from the WAKEF49 to the WAKEF34 [NHSG]. NO PLAY (replay the down).
15:00
3rd & 19 at own 34
Hank Bachmeier pass incomplete
12:12
4th & 19 at own 34
Ivan Mora punt for 35 yds, downed at the DUKE 31
Duke Punt, 3 plays
12:12
1st & 10 at own 31
Maalik Murphy pass complete to Sahmir Hagans for a loss of 1 yard to the DUKE 30
12:12
2nd & 11 at own 30
Maalik Murphy pass incomplete
12:12
3rd & 11 at own 30
Maalik Murphy pass complete to Star Thomas for 9 yds to the DUKE 39
10:57
4th & 2 at own 39
Kade Reynoldson punt for 36 yds
Wake Forest Missed FG, 13 plays
10:57
1st & 10 at own 25
Demond Claiborne run for 10 yds to the WAKE 35 for a 1ST down
10:57
1st & 10 at own 35
Hank Bachmeier run for no gain to the WAKE 35
10:57
2nd & 10 at own 35
Hank Bachmeier pass incomplete
10:57
3rd & 10 at own 35
Hank Bachmeier pass complete to Horatio Fields for 15 yds to the 50 yard line for a 1ST down
10:57
1st & 10 at the 50
Demond Claiborne run for 1 yd to the DUKE 49
10:57
2nd & 9 at opp 49
Hank Bachmeier pass complete to Taylor Morin for 10 yds to the DUKE 39 for a 1ST down
10:57
1st & 10 at opp 39
BACHMEIER, Hank scrambles up the middle for a gain of 13 yards to the DUKE26 (HOWARD, Alex). PENALTY WAKEF Holding on TROST, Keagen enforced 10 yards from the DUKE39 to the DUKE49 [NHSG]. NO PLAY (replay the down).
10:57
1st & 20 at opp 49
Hank Bachmeier pass incomplete
10:57
2nd & 20 at opp 49
Demond Claiborne run for 6 yds to the DUKE 43
10:57
3rd & 14 at opp 43
Hank Bachmeier pass complete to Cameron Hite for 16 yds to the DUKE 27 for a 1ST down
10:57
1st & 10 at opp 27
Demond Claiborne run for 1 yd to the DUKE 26
10:57
2nd & 9 at opp 26
Hank Bachmeier pass complete to Micah Mays Jr. for a loss of 1 yard to the DUKE 27
10:57
3rd & 10 at opp 27
Demond Claiborne run for 2 yds to the DUKE 25
4:50
4th & 8 at opp 25
Matthew Dennis 43 yd FG MISSED
Duke Punt, 3 plays
4:50
1st & 10 at own 25
Jaquez Moore run for 3 yds to the DUKE 28
4:50
2nd & 7 at own 28
Jaquez Moore run for a loss of 2 yards to the DUKE 26
4:50
3rd & 9 at own 26
Maalik Murphy pass complete to Eli Pancol for 6 yds to the DUKE 32
3:07
4th & 3 at own 32
Kade Reynoldson punt for 48 yds, fair catch by Taylor Morin at the WAKE 20
Wake Forest Punt, 3 plays
3:07
1st & 10 at own 20
Demond Claiborne run for 8 yds to the WAKE 28
3:07
2nd & 2 at own 28
Demond Claiborne run for 1 yd to the WAKE 29
3:07
3rd & 1 at own 29
Demond Claiborne run for no gain to the WAKE 29
1:39
4th & 1 at own 29
Ivan Mora punt for 40 yds
Duke Field goal, 8 plays
1:39
1st & 10 at own 31
Maalik Murphy pass complete to Jake Taylor for 10 yds to the DUKE 41 for a 1ST down
1:39
1st & 10 at own 41
Maalik Murphy pass complete to Eli Pancol for 5 yds to the DUKE 46
1:39
2nd & 5 at own 46
Star Thomas run for 7 yds to the WAKE 47 for a 1ST down
0:00
1st & 10 at opp 47
Star Thomas run for 20 yds to the WAKE 27 for a 1ST down
Q2 15:00
1st & 10 at opp 27
Star Thomas run for no gain to the WAKE 27
Q2 15:00
2nd & 10 at opp 27
Grayson Loftis run for a loss of 1 yard to the WAKE 28
Q2 15:00
3rd & 11 at opp 28
Maalik Murphy pass incomplete
Q2 13:39
4th & 11 at opp 28
Todd Pelino 45 Yd Field GoalDuke 3, Wake Forest 0
2nd quarter6 drives, then Wake Forest 10, Duke 3
Wake Forest Touchdown, 7 plays
13:34
Cosme Salas kickoff for 52 yds , Demond Claiborne return for 10 yds to the WAKE 23
13:34
1st & 10 at own 23
Hank Bachmeier pass complete to Deuce Alexander for 9 yds to the WAKE 32
13:34
2nd & 1 at own 32
Tate Carney run for no gain to the WAKE 32
13:34
3rd & 1 at own 32
Tate Carney run for 6 yds to the WAKE 38 for a 1ST down
13:34
1st & 10 at own 38
Wake Forest Penalty, False Start (-5 Yards) to the WAKE 33
13:34
1st & 15 at own 33
Hank Bachmeier pass complete to Deuce Alexander for 19 yds to the DUKE 48 for a 1ST down
13:34
1st & 10 at opp 48
Tate Carney run for 10 yds to the DUKE 38 for a 1ST down
13:34
1st & 10 at opp 38
Hank Bachmeier pass complete to Horatio Fields for 30 yds to the DUKE 8 for a 1ST down
10:23
1st & goal at opp 8
Tate Carney 8 Yd Run (Matthew Dennis Kick)Wake Forest 7, Duke 3
Duke Interception, 3 plays
10:23
Caleb Carlson kickoff for 65 yds for a touchback
10:23
1st & 10 at own 25
Jaquez Moore run for 1 yd to the DUKE 26
10:23
2nd & 9 at own 26
Maalik Murphy pass complete to Jordan Moore for 26 yds to the WAKE 48 for a 1ST down
9:24
1st & 10 at opp 48
Maalik Murphy pass intercepted Rushaun Tongue return for no gain to the WAKE 30
Wake Forest Field goal, 11 plays
9:24
1st & 10 at own 30
Demond Claiborne run for 3 yds to the WAKE 33
9:24
2nd & 7 at own 33
Hank Bachmeier pass incomplete
9:24
3rd & 7 at own 33
Hank Bachmeier run for 8 yds to the WAKE 41 for a 1ST down
9:24
1st & 10 at own 41
Hank Bachmeier pass complete to Donavon Greene for 6 yds to the WAKE 47
9:24
2nd & 4 at own 47
Hank Bachmeier pass complete to Taylor Morin for 12 yds to the DUKE 41 for a 1ST down
9:24
1st & 10 at opp 41
Demond Claiborne run for a loss of 1 yard to the DUKE 42
9:24
2nd & 11 at opp 42
Hank Bachmeier run for 15 yds to the DUKE 27 for a 1ST down
9:24
1st & 10 at opp 27
Demond Claiborne run for 3 yds to the DUKE 24
9:24
2nd & 7 at opp 24
Hank Bachmeier pass incomplete
9:24
3rd & 7 at opp 24
Hank Bachmeier pass complete to Taylor Morin for 5 yds to the DUKE 19
5:13
4th & 2 at opp 19
Matthew Dennis 37 Yd Field GoalWake Forest 10, Duke 3
Duke Punt, 6 plays
5:08
Caleb Carlson kickoff for 64 yds , Peyton Jones return for 17 yds to the DUKE 18
5:08
1st & 10 at own 18
Star Thomas run for a loss of 3 yards to the DUKE 15
5:08
2nd & 13 at own 15
Maalik Murphy pass complete to Jake Taylor for 11 yds to the DUKE 26
5:08
3rd & 2 at own 26
Maalik Murphy pass complete to Star Thomas for 7 yds to the DUKE 33 for a 1ST down
5:08
1st & 10 at own 33
Star Thomas run for 2 yds to the DUKE 35
5:08
2nd & 8 at own 35
Maalik Murphy pass complete to Sahmir Hagans for 4 yds to the DUKE 39
5:08
3rd & 4 at own 39
Maalik Murphy pass incomplete
2:17
4th & 4 at own 39
Kade Reynoldson punt for 32 yds, fair catch by Taylor Morin at the WAKE 29
2:17
1st & 10 at own 29
Duke Penalty, Offsides (Kendy Charles) to the WAKE 34
Wake Forest Punt, 6 plays
2:00
1st & 10 at own 40
Timeout Wake Forest, clock 02:00
2:00
1st & 5 at own 34
Tate Carney run for 6 yds to the WAKE 40 for a 1ST down
2:00
1st & 10 at own 40
Hank Bachmeier pass complete to Horatio Fields for 8 yds to the WAKE 48
2:00
2nd & 2 at own 48
Hank Bachmeier run for 7 yds to the DUKE 45 for a 1ST down
2:00
1st & 10 at opp 45
Hank Bachmeier pass incomplete
2:00
2nd & 10 at opp 45
Hank Bachmeier sacked by Aaron Hall and Wesley Williams for a loss of 1 yard to the DUKE 46
0:30
4th & 21 at own 44
Timeout Duke, clock 00:30
0:30
3rd & 11 at opp 46
Hank Bachmeier sacked for a loss of 10 yards to the WAKE 44 Hank Bachmeier fumbled, recovered by WAKE Tate Carney , return for 0 yards
0:19
4th & 21 at own 44
Ivan Mora punt for 45 yds , Que’Sean Brown returns for 12 yds to the DUKE 23
Duke End of half, 2 plays
0:19
1st & 10 at own 23
Jaquez Moore run for 13 yds to the DUKE 36 for a 1ST down
0:00
1st & 10 at own 36
Maalik Murphy pass complete to Jake Taylor for 5 yds to the DUKE 41
3rd quarter8 drives, then Wake Forest 17, Duke 10
Duke Punt, 3 plays
15:00
Caleb Carlson kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Star Thomas run for a loss of 1 yard to the DUKE 24
15:00
2nd & 11 at own 24
Maalik Murphy sacked by Bryce Ganious for a loss of 10 yards to the DUKE 14
15:00
3rd & 21 at own 14
Star Thomas run for 10 yds to the DUKE 24
13:09
4th & 11 at own 24
Kade Reynoldson punt for 43 yds, downed at the WAKE 33
Wake Forest Punt, 3 plays
13:09
1st & 10 at own 33
Demond Claiborne run for a loss of 1 yard to the WAKE 32
13:09
2nd & 11 at own 32
Hank Bachmeier sacked by Vincent Anthony Jr. for a loss of 3 yards to the WAKE 29
13:09
3rd & 14 at own 29
Demond Claiborne run for 11 yds to the WAKE 40
11:12
4th & 3 at own 40
Ivan Mora punt for 47 yds, downed at the DUKE 13
Duke Fumble, 3 plays
11:12
1st & 10 at own 13
Jaquez Moore run for a loss of 2 yards to the DUKE 11
11:12
2nd & 12 at own 11
Maalik Murphy pass incomplete
10:15
3rd & 12 at own 11
Maalik Murphy pass complete to Jaquez Moore for 3 yds Jaquez Moore fumbled, recovered by WAKE Dylan Hazen D. Hazen return for 0 yds
Wake Forest Touchdown, 3 plays
10:15
1st & 10 at opp 14
Demond Claiborne run for a loss of 1 yard to the DUKE 15
10:15
2nd & 11 at opp 15
Demond Claiborne run for 6 yds to the DUKE 9
9:00
3rd & 5 at opp 9
Horatio Fields 9 Yd pass from Hank Bachmeier (Matthew Dennis Kick)Wake Forest 17, Duke 3
Duke Punt, 6 plays
9:00
Caleb Carlson kickoff for 65 yds for a touchback
9:00
1st & 10 at own 25
Maalik Murphy pass complete to Que’Sean Brown for 6 yds to the DUKE 31
9:00
2nd & 4 at own 31
Maalik Murphy pass complete to Jordan Moore for 7 yds to the DUKE 38 for a 1ST down
9:00
1st & 10 at own 38
Maalik Murphy pass complete to Jordan Moore for 18 yds to the WAKE 44 for a 1ST down
9:00
1st & 10 at opp 44
Maalik Murphy pass complete to Star Thomas for 2 yds to the WAKE 42
9:00
2nd & 8 at opp 42
Star Thomas run for a loss of 1 yard to the WAKE 43
9:00
3rd & 9 at opp 43
Maalik Murphy pass incomplete
6:07
4th & 9 at opp 43
Kade Reynoldson punt for 34 yds, fair catch by Taylor Morin at the WAKE 9
Wake Forest Punt, 6 plays
6:07
1st & 10 at own 9
Tate Carney run for 2 yds to the WAKE 11
6:07
2nd & 8 at own 11
Tate Carney run for 6 yds to the WAKE 17
6:07
3rd & 2 at own 17
Tate Carney run for 2 yds to the WAKE 19 for a 1ST down
6:07
1st & 10 at own 19
Tate Carney run for 3 yds to the WAKE 22
6:07
2nd & 7 at own 22
Hank Bachmeier sacked by Alex Howard for a loss of 4 yards to the WAKE 18
6:07
3rd & 11 at own 18
Hank Bachmeier pass complete to Taylor Morin for no gain to the WAKE 18
2:33
4th & 11 at own 18
Ivan Mora punt for 37 yds , Que’Sean Brown returns for 13 yds to the WAKE 42
Duke Touchdown, 4 plays
2:33
1st & 10 at opp 42
Maalik Murphy pass complete to Que’Sean Brown for 30 yds to the WAKE 12 for a 1ST down
2:33
1st & 10 at opp 12
Star Thomas run for 3 yds to the WAKE 9
2:33
2nd & 7 at opp 9
Maalik Murphy pass complete to Eli Pancol for 6 yds to the WAKE 3
0:36
3rd & 1 at opp 3
Star Thomas 3 Yd Run (Todd Pelino Kick)Wake Forest 17, Duke 10
Duke Touchdown, 7 plays
0:27
Cosme Salas kickoff for 55 yds , Demond Claiborne return for 35 yds to the WAKE 45 Demond Claiborne fumbled, recovered by DUKE Vontae Floyd V. Floyd return for 35 yds , return for no gain to the WAKE 45
0:27
1st & 10 at opp 45
Maalik Murphy pass incomplete
0:00
2nd & 10 at opp 45
Maalik Murphy pass complete to Eli Pancol for 3 yds to the WAKE 42
Q4 15:00
3rd & 7 at opp 42
Maalik Murphy pass complete to Jordan Moore for 8 yds to the WAKE 34 for a 1ST down
Q4 15:00
1st & 10 at opp 34
Jaquez Moore run for 6 yds to the WAKE 28
Q4 15:00
2nd & 4 at opp 28
Jaquez Moore run for 6 yds to the WAKE 22 for a 1ST down
Q4 15:00
1st & 10 at opp 22
Jaquez Moore run for 18 yds to the WAKE 4 for a 1ST down
Q4 15:00
1st & goal at opp 4
MURPHY, Maalik pass short up the middle incomplete intended for MOORE, Jordan thrown to the WAKEF0. PENALTY WAKEF Holding on MULL, Jaxon enforced half the distance from the goal, 2 yards from the WAKEF4 to the WAKEF2 and results in automatic 1ST DOWN [NHSG]. NO PLAY (replay the down).
Q4 12:57
1st & goal at opp 2
Maalik Murphy 2 Yd Run (Todd Pelino Kick)Tied at 17
4th quarter4 drives, then Duke 23, Wake Forest 17
Wake Forest Punt, 12 plays
12:57
Cosme Salas kickoff for 65 yds for a touchback
12:57
1st & 10 at own 25
Hank Bachmeier pass complete to Demond Claiborne for 4 yds to the WAKE 29
12:57
2nd & 6 at own 29
Hank Bachmeier pass incomplete
12:09
3rd & 6 at own 29
Hank Bachmeier run for 9 yds to the WAKE 38 for a 1ST down
12:09
1st & 10 at own 38
Demond Claiborne run for 2 yds to the WAKE 40
12:09
2nd & 8 at own 40
Wake Forest Penalty, False Start (TEAM) to the WAKE 35
12:09
2nd & 13 at own 35
Hank Bachmeier pass complete to Horatio Fields for 4 yds to the WAKE 39
12:09
3rd & 9 at own 39
Hank Bachmeier pass complete to Taylor Morin for 11 yds to the 50 yard line for a 1ST down
12:09
1st & 10 at the 50
Demond Claiborne run for 3 yds to the DUKE 47
12:09
2nd & 7 at opp 47
Hank Bachmeier run for 1 yd to the DUKE 46
12:09
3rd & 6 at opp 46
Hank Bachmeier pass complete to Deuce Alexander for 7 yds to the DUKE 39 for a 1ST down
12:09
1st & 10 at opp 39
Tate Carney run for 2 yds to the DUKE 37
12:09
2nd & 8 at opp 37
Hank Bachmeier run for no gain to the DUKE 37
12:09
3rd & 8 at opp 37
Hank Bachmeier pass complete to Taylor Morin for a loss of 2 yards to the DUKE 39
6:34
4th & 10 at opp 39
Ivan Mora punt for 39 yds for a touchback
Duke Punt, 6 plays
6:34
1st & 10 at own 20
Star Thomas run for 5 yds to the DUKE 25
6:34
2nd & 5 at own 25
Maalik Murphy pass complete to Sahmir Hagans for 3 yds to the DUKE 28
6:34
3rd & 2 at own 28
Star Thomas run for 7 yds to the DUKE 35 for a 1ST down
6:34
1st & 10 at own 35
Maalik Murphy pass complete to Sahmir Hagans for 5 yds to the DUKE 40
6:34
2nd & 5 at own 40
Jaquez Moore run for a loss of 2 yards to the DUKE 38
6:34
3rd & 7 at own 38
Maalik Murphy pass incomplete
3:20
4th & 7 at own 38
Kade Reynoldson punt for 45 yds, fair catch by Taylor Morin at the WAKE 17
Wake Forest Punt, 5 plays
3:20
1st & 10 at own 17
Hank Bachmeier pass incomplete
3:20
2nd & 10 at own 17
Hank Bachmeier pass complete to Cameron Hite for 16 yds to the WAKE 33 for a 1ST down
2:21
1st & 10 at own 33
Hank Bachmeier run for a loss of 8 yards to the WAKE 16
2:00
2nd & 27 at own 16
Timeout Wake Forest, clock 02:00
2:00
2nd & 27 at own 16
Hank Bachmeier pass complete to Horatio Fields for 18 yds to the WAKE 34
1:29
4th & 15 at own 28
Timeout Duke, clock 01:29
1:29
3rd & 9 at own 34
Hank Bachmeier sacked by Wesley Williams and TEAM for a loss of 6 yards to the WAKE 28
1:22
4th & 15 at own 28
Ivan Mora punt for 38 yds, fair catch by Que’Sean Brown at the DUKE 24
Duke Touchdown, 7 plays
1:22
1st & 10 at own 24
Maalik Murphy pass complete to Jake Taylor for 8 yds to the DUKE 32
1:22
2nd & 2 at own 32
Star Thomas run for 6 yds to the DUKE 38 for a 1ST down
1:22
1st & 10 at own 38
Maalik Murphy pass complete to Star Thomas for 7 yds to the DUKE 45
0:23
3rd & 1 at own 47
Timeout Duke, clock 00:23
0:23
2nd & 3 at own 45
Maalik Murphy pass complete to Star Thomas for 2 yds to the DUKE 47
0:23
3rd & 1 at own 47
Star Thomas run for 8 yds to the WAKE 45 for a 1ST down
0:23
1st & 10 at opp 45
Maalik Murphy pass complete to Jake Taylor for 6 yds to the WAKE 39
0:00
2nd & 4 at opp 39
Maalik Murphy pass complete to Jordan Moore for 39 yds for a TDDuke 23, Wake Forest 17
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.
Officially, Duke leads 62–41–2; as played, 60–40–2 in the 102 games on file; the official count covers all 105 meetings, counting the one since this game.