| 15:00 | 1st & 10 | OWN 25 | Chase Brice pass complete to Jake Bobo for 10 yds to the Duke 35 for a 1ST down | +10 | 0.84 |
| 14:35 | 1st & 10 | OWN 35 | Deon Jackson run for 65 yds for a TD (Charlie Ham KICK) | +65 | 5.24 |
| 14:35 | 1st & 10 | OWN 25 | Chris Reynolds pass complete to Taylor Thompson for 10 yds to the Charl 35 for a 1ST down | +10 | 0.84 |
| 14:35 | 1st & 10 | OWN 35 | Chris Reynolds run for 6 yds to the Charl 41 | +6 | 0.40 |
| 14:35 | 2nd & 4 | OWN 41 | DUKE Penalty, Defensive offside (Chris Rumph II) to the Charl 46 for a 1ST down | +5 | |
| 14:35 | 1st & 10 | OWN 46 | Victor Tucker run for 2 yds to the Charl 48 | +2 | -0.67 |
| 14:35 | 2nd & 8 | OWN 48 | Chris Reynolds pass complete to Micaleous Elder for 2 yds to the 50 yard line | +2 | -0.65 |
| 14:35 | 3rd & 6 | 50 | Chris Reynolds pass incomplete to Aaron McAllister | 0 | -0.89 |
| 14:35 | 4th & 6 | 50 | Connor Bowler punt for 27 yds, punt out-of-bounds at the Duke 23 |
| 12:02 | 1st & 10 | OWN 23 | Chase Brice pass incomplete | 0 | -0.64 |
| 12:02 | 2nd & 10 | OWN 23 | Mataeo Durant run for 5 yds to the Duke 28 | +5 | 0.04 |
| 12:02 | 3rd & 5 | OWN 28 | Chase Brice pass complete to Noah Gray for 7 yds to the Duke 35 for a 1ST down | +7 | 1.57 |
| 12:02 | 1st & 10 | OWN 35 | Mataeo Durant run for 1 yd to the Duke 36 | +1 | -0.83 |
| 12:02 | 2nd & 9 | OWN 36 | Chase Brice pass incomplete to Damond Philyaw-Johnson | 0 | -0.68 |
| 12:02 | 3rd & 9 | OWN 36 | Chase Brice run for 6 yds to the Duke 42 | +6 | 0.15 |
| 12:02 | 4th & 3 | OWN 42 | Porter Wilson punt for 49 yds, fair catch by Micaleous Elder at the Charl 9 |
| 9:55 | 1st & 10 | OWN 9 | Chris Reynolds pass incomplete, broken up by Chris Rumph II | 0 | -0.33 |
| 9:55 | 2nd & 10 | OWN 9 | Tre Harbison III run for 5 yds to the Charl 14 | +5 | 0.03 |
| 9:55 | 3rd & 5 | OWN 14 | DUKE Penalty, Defensive offside (Chris Rumph II) to the Charl 19 for a 1ST down | +5 | |
| 9:55 | 1st & 10 | OWN 19 | Dom Shoffner run for 7 yds to the Charl 26 | +7 | 0.51 |
| 9:55 | 2nd & 3 | OWN 26 | Chris Reynolds sacked by Shaka Heyward for a loss of 2 yards to the Charl 24 | -2 | -1.01 |
| 9:55 | 3rd & 5 | OWN 24 | Chavon McEachern run for a loss of 3 yards to the Charl 21 | -3 | -0.36 |
| 9:55 | 4th & 8 | OWN 21 | Connor Bowler punt, downed at the Charl 31 |
| 7:07 | 1st & 10 | OPP 31 | Chase Brice pass complete to Darrell Harding Jr. for 17 yds to the Charl 14 for a 1ST down | +17 | 0.29 |
| 7:07 | 1st & 10 | OPP 14 | Mataeo Durant run for 9 yds to the Charl 5 | +9 | 0.61 |
| 7:07 | 2nd & 1 | OPP 5 | Mataeo Durant run for 2 yds to the Charl 3 for a 1ST down | +2 | 0.47 |
| 6:10 | 1st & 3 | OPP 3 | Mataeo Durant run for 3 yds for a TD (Charlie Ham KICK) | +3 | 1.46 |
| 6:03 | 1st & 10 | OWN 13 | Aaron McAllister run for 3 yds to the Charl 16 | +3 | -0.17 |
| 6:03 | 2nd & 7 | OWN 16 | Chris Reynolds run for 3 yds to the Charl 19 | +3 | -0.13 |
| 6:03 | 3rd & 4 | OWN 19 | Chris Reynolds pass incomplete to Tyler Ringwood | 0 | -0.24 |
| 6:03 | 4th & 4 | OWN 19 | Connor Bowler punt for 36 yds, punt out-of-bounds at the Charl 34 , Jontavis Robertson returns for 21 yds to the Charl 34 |
| 4:24 | 1st & 10 | OPP 34 | Deon Jackson run for 2 yds to the Charl 32 | +2 | -0.35 |
| 4:24 | 2nd & 8 | OPP 32 | Chase Brice pass complete to Jalon Calhoun for 10 yds to the Charl 22 for a 1ST down | +10 | 0.64 |
| 4:24 | 1st & 10 | OPP 22 | Chase Brice pass complete to Jalon Calhoun for 14 yds to the Charl 8 for a 1ST down | +14 | 0.33 |
| 4:24 | 1st & 8 | OPP 8 | Deon Jackson run for no gain to the Charl 8 | 0 | -0.36 |
| 4:24 | 2nd & 8 | OPP 8 | Chase Brice pass incomplete to Jake Bobo | 0 | -0.27 |
| 4:24 | 3rd & 8 | OPP 8 | Chase Brice sacked by Markees Watts for a loss of 6 yards to the Charl 14 | -6 | -1.15 |
| 2:01 | 4th & 14 | OPP 14 | Charlie Ham 32 yd FG GOOD |
| 1:53 | 1st & 10 | OWN 26 | Tre Harbison III run for 2 yds to the Charl 28 | +2 | -0.47 |
| 1:53 | 2nd & 8 | OWN 28 | Tre Harbison III run for 5 yds to the Charl 33 | +5 | 0.07 |
| 1:53 | 3rd & 3 | OWN 33 | Chris Reynolds run for 2 yds to the Charl 35 | +2 | -0.35 |
| 0:00 | OPP 0 | End of 1st Quarter | |||
| 15:00 | 4th & 1 | OWN 35 | Tre Harbison III run for 2 yds to the Charl 37 for a 1ST down | +2 | 1.71 |
| 15:00 | 1st & 10 | OWN 37 | DUKE Penalty, Defensive offside (Derrick Tangelo) to the Charl 42 | +5 | |
| 15:00 | 1st & 5 | OWN 42 | Chris Reynolds pass complete to Micaleous Elder for 30 yds to the Duke 28 for a 1ST down | +30 | 0.76 |
| 15:00 | 1st & 10 | OPP 28 | Chris Reynolds pass incomplete to Victor Tucker, broken up by Michael Carter II | 0 | -0.51 |
| 15:00 | 2nd & 10 | OPP 28 | Chris Reynolds pass incomplete to Tyler Ringwood | 0 | -0.70 |
| 15:00 | 3rd & 10 | OPP 28 | Chris Reynolds pass incomplete to Micaleous Elder | 0 | -0.95 |
| 13:04 | 4th & 10 | OPP 28 | Jonathan Cruz 45 yd FG MISSED |
| 13:04 | 1st & 10 | OWN 28 | Mataeo Durant run for 2 yds to the Duke 30 | +2 | -0.51 |
| 13:04 | 2nd & 8 | OWN 30 | Mataeo Durant run for 60 yds to the Charl 10 for a 1ST down | +60 | 3.85 |
| 13:04 | 1st & 10 | OPP 10 | Chase Brice pass incomplete to Jarett Garner | 0 | -0.29 |
| 12:17 | 2nd & 10 | OPP 10 | Mataeo Durant run for 10 yds for a TD (Charlie Ham KICK) CHARLOTTE Penalty, Defensive offside ( Yards) declined | +10 | 2.80 |
| 12:10 | 1st & 10 | OWN 9 | Chris Reynolds pass complete to Aaron McAllister for 3 yds to the Charl 12 | +3 | -0.14 |
| 12:10 | 2nd & 7 | OWN 12 | Tre Harbison III run for 5 yds to the Charl 17 | +5 | 0.05 |
| 12:10 | 3rd & 2 | OWN 17 | Chris Reynolds pass complete to Micaleous Elder for 8 yds to the Charl 25 for a 1ST down | +8 | 0.83 |
| 12:10 | 1st & 10 | OWN 25 | Chris Reynolds pass complete to Micaleous Elder for 9 yds to the Charl 34 | +9 | 1.25 |
| 12:10 | 2nd & 1 | OWN 34 | Micaleous Elder run for no gain to the Charl 34 | 0 | -1.28 |
| 12:10 | 3rd & 1 | OWN 34 | Tre Harbison III run for 6 yds to the Charl 40 for a 1ST down | +6 | 1.34 |
| 12:10 | 1st & 10 | OWN 40 | Chris Reynolds pass incomplete to Ryan Carriere | 0 | -1.12 |
| 12:10 | 2nd & 10 | OWN 40 | Aaron McAllister run for 1 yd to the Charl 41 | +1 | -0.63 |
| 12:10 | 3rd & 9 | OWN 41 | Chris Reynolds pass complete to Victor Tucker for 12 yds to the Duke 47 for a 1ST down | +12 | 2.90 |
| 12:10 | 1st & 10 | OPP 47 | Chris Reynolds pass incomplete, broken up by Derrick Tangelo | 0 | -1.05 |
| 12:10 | 2nd & 10 | OPP 47 | Chris Reynolds pass incomplete | 0 | -1.06 |
| 12:10 | 3rd & 10 | OPP 47 | Chris Reynolds pass complete to Tyler Ringwood for 16 yds to the Duke 31 for a 1ST down | +16 | 2.88 |
| 12:10 | 1st & 10 | OPP 31 | Calvin Camp run for 11 yds to the Duke 20 for a 1ST down | +11 | 0.22 |
| 12:10 | 1st & 10 | OPP 20 | Chris Reynolds run for 8 yds to the Duke 12 | +8 | 0.46 |
| 12:10 | 2nd & 2 | OPP 12 | Dom Shoffner run for no gain to the Duke 12 | 0 | -0.51 |
| 12:10 | 3rd & 2 | OPP 12 | Tre Harbison III run for 7 yds to the Duke 5 for a 1ST down | +7 | 0.79 |
| 4:21 | 1st & 5 | OPP 5 | Micaleous Elder run for 5 yds for a TD (Jonathan Cruz KICK) | +5 | 1.88 |
| 4:21 | 1st & 10 | OWN 25 | Gunnar Holmberg run for a loss of 3 yards to the Duke 22 | -3 | -0.96 |
| 4:21 | 2nd & 13 | OWN 22 | Gunnar Holmberg pass complete to N/A for 17 yds to the Duke 39 for a 1ST down | +17 | 2.18 |
| 4:21 | 1st & 10 | OWN 39 | Deon Jackson run for 5 yds to the Duke 44 | +5 | 0.11 |
| 4:21 | 2nd & 5 | OWN 44 | Deon Jackson run for no gain to the Duke 44 | 0 | -1.15 |
| 4:21 | 3rd & 5 | OWN 44 | Gunnar Holmberg pass complete to Jalon Calhoun for 4 yds to the Duke 48 | +4 | -0.13 |
| 4:21 | 4th & 1 | OWN 48 | Deon Jackson run for no gain to the Duke 48 | 0 | -0.97 |
| 2:26 | 1st & 10 | OPP 48 | Aaron McAllister run for 3 yds to the Duke 45 | +3 | -0.36 |
| 2:26 | 2nd & 7 | OPP 45 | Chris Reynolds pass complete to Micaleous Elder for 6 yds to the Duke 39 | +6 | 0.33 |
| 2:26 | 3rd & 1 | OPP 39 | Calvin Camp run for 7 yds to the Duke 32 for a 1ST down | +7 | 0.85 |
| 2:26 | 1st & 10 | OPP 32 | Micaleous Elder run for no gain to the Duke 32 | 0 | -0.61 |
| 2:26 | 2nd & 10 | OPP 32 | Chris Reynolds sacked by Chris Rumph II for a loss of 9 yards to the Duke 41 | -9 | -2.66 |
| 2:26 | 3rd & 19 | OPP 41 | Dom Shoffner run for 2 yds to the Duke 39 Dom Shoffner fumbled, forced by Derrick Tangelo, recovered by Duke Drew Jordan | -0.86 |
| 0:16 | 1st & 10 | OWN 39 | Deon Jackson run for 1 yd to the Duke 40 | +1 | -0.90 |
| 0:00 | OWN 0 | End of 2nd Quarter | |||
| 0:00 | OWN 0 | End of 2nd Quarter |
| 14:54 | 1st & 10 | OWN 18 | Chris Reynolds pass incomplete to Micaleous Elder | 0 | -0.51 |
| 14:54 | 2nd & 10 | OWN 18 | Chris Reynolds pass complete to Taylor Thompson for 2 yds to the Charl 20 | +2 | -0.15 |
| 14:54 | 3rd & 8 | OWN 20 | Chris Reynolds pass incomplete to Aaron McAllister | 0 | -0.15 |
| 14:54 | 4th & 8 | OWN 20 | Connor Bowler punt for 47 yds, downed at the Duke 33 |
| 13:48 | 1st & 10 | OWN 33 | Deon Jackson run for 4 yds to the Duke 37 | +4 | -0.15 |
| 13:48 | 2nd & 6 | OWN 37 | Chase Brice pass incomplete to Noah Gray | 0 | -0.90 |
| 13:48 | 3rd & 6 | OWN 37 | Chase Brice pass incomplete | 0 | -0.49 |
| 13:48 | 4th & 6 | OWN 37 | Porter Wilson punt for 36 yds , Micaleous Elder returns for 2 yds to the Charl 29 |
| 13:07 | 1st & 10 | OWN 29 | Chris Reynolds sacked by Chris Rumph II for a loss of 8 yards to the Charl 21 | -8 | -1.43 |
| 13:07 | 2nd & 18 | OWN 21 | Aaron McAllister run for 3 yds to the Charl 24 | +3 | -0.05 |
| 13:07 | 3rd & 15 | OWN 24 | Chris Reynolds sacked by Chris Rumph II for a loss of 4 yards to the Charl 20 | -4 | -0.12 |
| 13:07 | 4th & 19 | OWN 20 | Connor Bowler punt blocked by Isaiah Fisher-Smith blocked by Isaiah Fisher-Smith |
| 10:38 | 1st & 5 | OPP 5 | Deon Jackson run for 5 yds for a TD (Charlie Ham KICK) | +5 | 1.88 |
| 10:38 | 1st & 10 | OWN 25 | Calvin Camp run for 1 yd to the Charl 26 | +1 | -0.59 |
| 10:38 | 2nd & 9 | OWN 26 | Chris Reynolds pass complete to Tyler Ringwood for 2 yds to the Charl 28 | +2 | -0.27 |
| 10:38 | 3rd & 7 | OWN 28 | Chris Reynolds pass complete to Taylor Thompson for 14 yds to the Charl 42 for a 1ST down | +14 | 2.37 |
| 10:38 | 1st & 10 | OWN 42 | Victor Tucker run for 41 yds to the Duke 17 for a 1ST down | +41 | 1.98 |
| 7:50 | 1st & 10 | OPP 17 | Timeout CHARLOTTE, clock 07:50 | ||
| 7:50 | 1st & 10 | OPP 17 | REYNOLDS, Chris pass incomplete to TUCKER, Victor, PENALTY DU offside (Oben, R.) 5 yards to the DU12, NO PLAY. | +5 | |
| 7:50 | 1st & 5 | OPP 12 | Tre Harbison III run for 2 yds to the Duke 10 | +2 | -0.33 |
| 7:50 | 2nd & 3 | OPP 10 | Chris Reynolds run for 2 yds to the Duke 8 | +2 | -0.26 |
| 7:50 | 3rd & 1 | OPP 8 | Chris Reynolds pass complete to Taylor Thompson for 2 yds to the Duke 6 for a 1ST down | +2 | 0.48 |
| 5:50 | 1st & 6 | OPP 6 | Chris Reynolds pass complete to Victor Tucker for 6 yds for a TD DUKE Penalty, Defensive pass interference ( Yards) declined (Two-Point Conversion failed) | +6 | 2.05 |
| 5:45 | 1st & 10 | OWN 21 | Chase Brice pass complete to Jarett Garner for 28 yds to the Duke 49 for a 1ST down | +28 | 2.41 |
| 5:45 | 1st & 10 | OWN 49 | Deon Jackson run for 19 yds to the Charl 32 for a 1ST down | +19 | 1.05 |
| 5:45 | 1st & 10 | OPP 32 | Chase Brice pass complete to Jake Marwede for 12 yds to the Charl 20 for a 1ST down | +12 | 0.25 |
| 5:45 | 1st & 10 | OPP 20 | Mataeo Durant run for 6 yds to the Charl 14 | +6 | 0.19 |
| 5:45 | 2nd & 4 | OPP 14 | Mataeo Durant run for 3 yds to the Charl 11 | +3 | -0.14 |
| 5:45 | 3rd & 1 | OPP 11 | Mataeo Durant run for 2 yds to the Charl 9 for a 1ST down | +2 | 0.15 |
| 5:45 | 1st & 9 | OPP 9 | Mataeo Durant run for 1 yd to the Charl 8 | +1 | -0.25 |
| 2:35 | 2nd & 8 | OPP 8 | Chase Brice pass complete to Jalon Calhoun for 8 yds for a TD (Charlie Ham PAT MISSED) | +8 | 2.68 |
| 2:27 | 1st & 10 | OWN 17 | Aaron McAllister run for 4 yds to the Charl 21 | +4 | -0.07 |
| 2:27 | 2nd & 6 | OWN 21 | Chris Reynolds pass complete to Micaleous Elder for 31 yds to the Duke 48 for a 1ST down | +31 | 2.92 |
| 2:27 | 1st & 10 | OPP 48 | Chris Reynolds pass incomplete to Micaleous Elder, broken up by Michael Carter II | 0 | -1.07 |
| 2:27 | 2nd & 10 | OPP 48 | Tre Harbison III run for 7 yds to the Duke 41 | +7 | 0.56 |
| 2:27 | 3rd & 3 | OPP 41 | Aaron McAllister run for 2 yds to the Duke 39 | +2 | -0.65 |
| 0:00 | OPP 0 | End of 3rd Quarter | |||
| 15:00 | 4th & 1 | OPP 39 | Tre Harbison III run for 7 yds to the Duke 32 for a 1ST down | +7 | 1.98 |
| 15:00 | 1st & 10 | OPP 32 | Tre Harbison III run for 7 yds to the Duke 25 | +7 | 0.37 |
| 15:00 | 2nd & 3 | OPP 25 | Chris Reynolds pass complete to Ryan Carriere for a loss of 1 yard to the Duke 26 | -1 | -0.77 |
| 15:00 | 3rd & 4 | OPP 26 | Chris Reynolds pass incomplete to Victor Tucker | 0 | -0.78 |
| 15:00 | 4th & 4 | OPP 26 | REYNOLDS, Chris pass complete to RINGWOOD, Tyler for 9 yards to the DU17, PENALTY DU holding (Waters, M.) 10 yards to the DU16, 1ST DOWN CLT, NO PLAY. | +10 | |
| 15:00 | 1st & 10 | OPP 16 | Micaleous Elder run for 2 yds to the Duke 14 | +2 | -0.18 |
| 15:00 | 2nd & 8 | OPP 14 | Chris Reynolds pass complete to Aaron McAllister for 11 yds to the Duke 3 for a 1ST down | +11 | 1.29 |
| 15:00 | 1st & 3 | OPP 3 | Aaron McAllister run for a loss of 1 yard to the Duke 4 | -1 | -0.87 |
| 15:00 | 2nd & 4 | OPP 4 | Chris Reynolds run for 2 yds to the Duke 2 | +2 | -0.21 |
| 15:00 | 3rd & 2 | OPP 2 | Chris Reynolds pass incomplete to Victor Tucker, broken up by Jeremiah Lewis | 0 | -0.31 |
| 10:06 | 4th & 2 | OPP 2 | Tre Harbison III run for 2 yds for a TD | +2 | 2.85 |
| 10:06 | 1st & 10 | OPP 28 | Gunnar Holmberg run for a loss of 16 yards to the Charl 44 Gunnar Holmberg fumbled, recovered by Duke Gunnar Holmberg | -16 | -3.43 |
| 10:06 | 2nd & 26 | OPP 44 | Gunnar Holmberg pass intercepted Nafees Lyon return for no gain to the Charl 3 | -0.80 |
| 9:29 | 1st & 10 | OWN 3 | Chris Reynolds run for 6 yds to the Charl 9 | +6 | 0.17 |
| 9:29 | 2nd & 4 | OWN 9 | Tre Harbison III run for no gain to the Charl 9 | 0 | -0.36 |
| 9:29 | 3rd & 4 | OWN 9 | Chris Reynolds pass complete to Victor Tucker for 8 yds to the Charl 17 for a 1ST down | +8 | 0.61 |
| 9:29 | 1st & 10 | OWN 17 | Calvin Camp run for 11 yds to the Charl 28 for a 1ST down | +11 | 0.68 |
| 9:29 | 1st & 10 | OWN 28 | Chris Reynolds pass incomplete to Tyler Ringwood | 0 | -0.80 |
| 9:29 | 2nd & 10 | OWN 28 | Calvin Camp run for 1 yd to the Charl 29 | +1 | -0.35 |
| 9:29 | 3rd & 9 | OWN 29 | Chris Reynolds pass incomplete to Victor Tucker | 0 | -0.23 |
| 9:29 | 4th & 9 | OWN 29 | Chris Reynolds sacked by Victor Dimukeje for a loss of 7 yards to the Charl 19 Chris Reynolds fumbled, recovered by Duke Derrick Tangelo , return for 0 yards | -7 | 0.23 |
| 6:13 | 1st & 10 | OPP 19 | Jordan Waters run for 4 yds to the Charl 15 | +4 | -0.02 |
| 6:13 | 2nd & 6 | OPP 15 | Chase Brice run for 6 yds to the Charl 9 for a 1ST down | +6 | 0.20 |
| 6:13 | 1st & 9 | OPP 9 | Chase Brice run for 3 yds to the Charl 6 | +3 | -0.10 |
| 6:13 | 2nd & 6 | OPP 6 | Brice, C. pass incomplete to Garner, J., PENALTY CLT pass interference (WHITEHEAD, B.) 4 yards to the CLT2, 1ST DOWN DU, NO PLAY. | +4 | |
| 4:17 | 1st & 2 | OPP 2 | Jordan Waters run for 2 yds for a TD (Charlie Ham KICK) | +2 | 1.21 |
| 4:17 | 1st & 10 | OWN 25 | Dom Shoffner run for 5 yds to the Charl 30 | +5 | 0.09 |
| 4:17 | 2nd & 5 | OWN 30 | Dom Shoffner pass incomplete | 0 | -0.75 |
| 4:17 | 3rd & 5 | OWN 30 | Dom Shoffner pass incomplete to Tyler Ringwood | 0 | -0.37 |
| 4:17 | 4th & 5 | OWN 30 | Connor Bowler punt for 45 yds, downed at the Duke 25 |
| 3:11 | 1st & 10 | OWN 25 | Jordan Waters run for 70 yds to the Charl 5 for a 1ST down | +70 | 4.19 |
| 3:11 | 1st & 5 | OPP 5 | Jordan Waters run for 2 yds to the Charl 3 | +2 | -0.33 |
| 3:11 | 2nd & 3 | OPP 3 | CHARLOTTE Penalty, Defensive offside (Timmy Horne) to the Charl 1 | +2 | |
| 3:11 | 2nd & 1 | OPP 1 | Jordan Waters run for no gain to the Charl 1 | 0 | -0.55 |
| 1:02 | 3rd & 1 | OPP 1 | Gunnar Holmberg run for 1 yd for a TD (Charlie Ham KICK) | +1 | 2.45 |
| 0:55 | 1st & 10 | OWN 42 | Dom Shoffner run for 3 yds to the Charl 45 | +3 | -0.43 |
| 0:55 | 2nd & 7 | OWN 45 | Calvin Camp run for 3 yds to the Charl 48 | +3 | -0.42 |
| 1 | sacks | 5 |
| 2 | plays for loss | 8 |
| 1 | takeaways | 2 |
| 1 | three-and-outs forced | 4 |
| 7 | explosive plays allowed | 4 |
| 8.34 | yards allowed / play | 3.98 |
| 8 of 13 | scoring drives allowed | 3 of 13 |
| Tyler Murray | 8 (8) | 1 TFL |
| Ben DeLuca | 6 (6) | |
| Antone Williams | 4 | |
| Brelin Faison-Walden | 3 (2) | |
| Jaylon Sharpe | 3 (3) | |
| Markees Watts | 2 (2) | 1 sk · 1 TFL |
| Tyriq Harris | 2 (1) | |
| Jacione Fugate | 2 (1) |
| Shaka Heyward | 12 (9) | 1 sk · 2 TFL |
| Michael Carter II | 8 (6) | 2 PD |
| Rocky Shelton II | 7 (4) | |
| Lummie Young IV | 6 (5) | 1 TFL |
| Jalen Alexander | 6 (5) | 1 TFL |
| Chris Rumph II | 5 (4) | 3 sk · 3 TFL · 1 PD · 1 QH |
| Victor Dimukeje | 5 (4) | 1 sk · 1 TFL · 1 QH |
| Derrick Tangelo | 5 (4) | 1 PD |
| 0 of 1 | field goals | 1 of 1 |
| 4 | punts | 2 |
| 38.8 | punt average | 42.5 |
| 0 | punts inside the 20 | 1 |
| 107 | return yards | 57 |
| own 22 | average drive start | own 48 |
| K | Jonathan Cruz | 0/1 FG · 1/1 XP |
| P | Connor Bowler | 4 punts · 38.8 avg |
| KR | Aaron McAllister | 1 ret · 22 yds · long 22 |
| KR | Calvin Camp | 3 ret · 46 yds · long 17 |
| KR | Chavon Mceachern | 2 ret · 37 yds · long 26 |
| PR | Micaleous Elder | 1 ret · 2 yds · long 2 |
| K | Charlie Ham | 1/1 FG · long 32 · 6/7 XP |
| P | Porter Wilson | 2 punts · 42.5 avg · 1 in 20 |
| KR | Damond Philyaw-Johnson | 1 ret · 21 yds · long 21 |
| PR | Isaiah Fisher-Smith | 1 ret · 15 yds |
| PR | Jontavis Robertson | 1 ret · 21 yds · long 21 |
| 85 | plays | 50 |
| 338 | yards | 417 |
| 13 | drives | 13 |
| 37% | success rate | 50% |
| 7.41 | total PPA | 24.31 |
| Q1 | Deon Jackson run for 65 yds for a TD (Charlie Ham KICK) | 7–0 |
| Q1 | Mataeo Durant run for 3 yds for a TD (Charlie Ham KICK) | 14–0 |
| Q1 | Charlie Ham 32 yd FG GOOD | 17–0 |
| Q2 | Mataeo Durant run for 10 yds for a TD (Charlie Ham KICK) CHARLOTTE Penalty, Defensive offside… | 24–0 |
| Q2 | Micaleous Elder run for 5 yds for a TD (Jonathan Cruz KICK) | 7–24 |
| Q3 | Deon Jackson run for 5 yds for a TD (Charlie Ham KICK) | 31–7 |
| Q3 | Chris Reynolds pass complete to Victor Tucker for 6 yds for a TD DUKE Penalty, Defensive pass… | 13–31 |
| Q3 | Chase Brice pass complete to Jalon Calhoun for 8 yds for a TD (Charlie Ham PAT MISSED) | 37–13 |
| Q4 | Tre Harbison III run for 2 yds for a TD | 19–37 |
| Q4 | Jordan Waters run for 2 yds for a TD (Charlie Ham KICK) | 46–19 |
| Q4 | Gunnar Holmberg run for 1 yd for a TD (Charlie Ham KICK) | 53–19 |
| Q1 | Deon Jackson run for 65 yds for a TD (Charlie Ham KICK) | 5.24 |
| Q4 | Jordan Waters run for 70 yds to the Charl 5 for a 1ST down | 4.19 |
| Q2 | Mataeo Durant run for 60 yds to the Charl 10 for a 1ST down | 3.85 |
| Q3 | Chris Reynolds pass complete to Micaleous Elder for 31 yds to the Duke 48 for a 1ST down | 2.92 |
| Q2 | Chris Reynolds pass complete to Victor Tucker for 12 yds to the Duke 47 for a 1ST down | 2.90 |
| Q2 | Chris Reynolds pass complete to Tyler Ringwood for 16 yds to the Duke 31 for a 1ST down | 2.88 |
| 2021 | Duke 28 – 31 Charlotte |