Referee Kevin Randall; umpire Dongray Johnson; head linesman Jerry Harris; line judge Joe Stahmer; side judge Tony Lombardo; field judge Carlos Guzman; back judge Ivan Daniels; center judge Eric SteenGame officials: stats.ncaa.org box scores, via SportsDataverse
From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Charlotte
Duke
348
Total yards
401
171
Passing yards
127
177
Rushing yards
274
4.8
Yards per pass
7.5
3.5
Yards per rush
8.1
22
First downs
16
10–23
Third downs
3–7
3–4
Fourth downs
0–1
2
Turnovers
1
5–35
Penalties
6–35
42:27
Possession
17:33
1
Sacks (by defense)
5
Efficiency
Charlotte
Duke
36%
Success rate
49%
0.00
EPA per play
0.34
1.18
Explosiveness
1.48
0.08
Rushing EPA
0.36
−0.09
Passing EPA
0.32
20%
Passing-down success
43%
0.00
First-down EPA
0.39
−0.27
Second-down EPA
0.55
0.21
Third-down EPA
0.36
8%
Havoc by its defense
19%
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 52% to win. Elo’s favorite won.
The line
Duke −10.5, over/under 55.
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 77%, Charlotte 23%. 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, Charlotte right to left.
Q1 DukeTouchdown, 2 plays, 75 yards
Q1 CharlottePunt, 5 plays, 25 yards
Q1 DukePunt, 6 plays, 19 yards
Q1 CharlottePunt, 5 plays, 12 yards
Q1 DukeTouchdown, 4 plays, 31 yards
Q1 CharlottePunt, 3 plays, 6 yards
Q1 DukeField goal, 7 plays, 20 yards
Q1 CharlotteMissed FG, 9 plays, 46 yards
Q2 DukeTouchdown, 4 plays, 72 yards
Q2 CharlotteTouchdown, 17 plays, 91 yards
Q2 DukeTurnover on downs, 6 plays, 23 yards
Q2 CharlotteFumble, 6 plays, 9 yards
Q2 DukeEnd of half, 1 play, 1 yard
Q3 CharlottePunt, 3 plays, 2 yards
Q3 DukePunt, 3 plays, 4 yards
Q3 CharlotteDefensive TD, 3 plays (Duke scores), −9 yards
Q3 DukeResult not recorded, 1 play, 5 yards
Q3 CharlotteTouchdown, 8 plays, 75 yards
Q3 DukeTouchdown, 8 plays, 79 yards
Q3 CharlotteTouchdown, 15 plays, 83 yards
Q4 DukeInterception, 2 plays, −16 yards
Q4 CharlotteFumble, 8 plays, 16 yards
Q4 DukeTouchdown, 4 plays, 19 yards
Q4 CharlottePunt, 3 plays, 5 yards
Q4 DukeTouchdown, 4 plays, 75 yards
Q4 CharlotteResult not recorded, 2 plays, −6 yards
Play by play
1st quarter8 drives, then Duke 17, Charlotte 0
Duke Touchdown, 2 plays
15:00
1st & 10 at own 35
Jonathan Cruz kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Chase Brice pass complete to Jake Bobo for 10 yds to the Duke 35 for a 1ST down
14:35
1st & 10 at own 35
Deon Jackson run for 65 yds for a TD (Charlie Ham KICK)Duke 7, Charlotte 0
Charlotte Punt, 5 plays
14:35
1st & 0 at own 35
Jack Driggers kickoff for 65 yds for a touchback
14:35
1st & 10 at own 25
Chris Reynolds pass complete to Taylor Thompson for 10 yds to the Charl 35 for a 1ST down
14:35
1st & 10 at own 35
Chris Reynolds run for 6 yds to the Charl 41
14:35
2nd & 4 at own 41
DUKE Penalty, Defensive offside (Chris Rumph II) to the Charl 46 for a 1ST down
14:35
1st & 10 at own 46
Victor Tucker run for 2 yds to the Charl 48
14:35
2nd & 8 at own 48
Chris Reynolds pass complete to Micaleous Elder for 2 yds to the 50 yard line
14:35
3rd & 6 at the 50
Chris Reynolds pass incomplete to Aaron McAllister
14:35
4th & 6 at the 50
Connor Bowler punt for 27 yds, punt out-of-bounds at the Duke 23
Duke Punt, 6 plays
12:02
1st & 10 at own 23
Chase Brice pass incomplete
12:02
2nd & 10 at own 23
Mataeo Durant run for 5 yds to the Duke 28
12:02
3rd & 5 at own 28
Chase Brice pass complete to Noah Gray for 7 yds to the Duke 35 for a 1ST down
12:02
1st & 10 at own 35
Mataeo Durant run for 1 yd to the Duke 36
12:02
2nd & 9 at own 36
Chase Brice pass incomplete to Damond Philyaw-Johnson
12:02
3rd & 9 at own 36
Chase Brice run for 6 yds to the Duke 42
12:02
4th & 3 at own 42
Porter Wilson punt for 49 yds, fair catch by Micaleous Elder at the Charl 9
Charlotte Punt, 5 plays
9:55
1st & 10 at own 9
Chris Reynolds pass incomplete, broken up by Chris Rumph II
9:55
2nd & 10 at own 9
Tre Harbison III run for 5 yds to the Charl 14
9:55
3rd & 5 at own 14
DUKE Penalty, Defensive offside (Chris Rumph II) to the Charl 19 for a 1ST down
9:55
1st & 10 at own 19
Dom Shoffner run for 7 yds to the Charl 26
9:55
2nd & 3 at own 26
Chris Reynolds sacked by Shaka Heyward for a loss of 2 yards to the Charl 24
9:55
3rd & 5 at own 24
Chavon McEachern run for a loss of 3 yards to the Charl 21
9:55
4th & 8 at own 21
Connor Bowler punt, downed at the Charl 31
Duke Touchdown, 4 plays
7:07
1st & 10 at opp 31
Chase Brice pass complete to Darrell Harding Jr. for 17 yds to the Charl 14 for a 1ST down
7:07
1st & 10 at opp 14
Mataeo Durant run for 9 yds to the Charl 5
7:07
2nd & 1 at opp 5
Mataeo Durant run for 2 yds to the Charl 3 for a 1ST down
6:10
1st & goal at opp 3
Mataeo Durant run for 3 yds for a TD (Charlie Ham KICK)Duke 14, Charlotte 0
Charlotte Punt, 3 plays
6:10
1st & 0 at own 35
Jack Driggers kickoff for 63 yds , Chavon McEachern return for 11 yds to the Charl 13
6:03
1st & 10 at own 13
Aaron McAllister run for 3 yds to the Charl 16
6:03
2nd & 7 at own 16
Chris Reynolds run for 3 yds to the Charl 19
6:03
3rd & 4 at own 19
Chris Reynolds pass incomplete to Tyler Ringwood
6:03
4th & 4 at 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
Duke Field goal, 7 plays
4:24
1st & 10 at opp 34
Deon Jackson run for 2 yds to the Charl 32
4:24
2nd & 8 at opp 32
Chase Brice pass complete to Jalon Calhoun for 10 yds to the Charl 22 for a 1ST down
4:24
1st & 10 at opp 22
Chase Brice pass complete to Jalon Calhoun for 14 yds to the Charl 8 for a 1ST down
4:24
1st & goal at opp 8
Deon Jackson run for no gain to the Charl 8
4:24
2nd & goal at opp 8
Chase Brice pass incomplete to Jake Bobo
4:24
3rd & goal at opp 8
Chase Brice sacked by Markees Watts for a loss of 6 yards to the Charl 14
2:01
4th & goal at opp 14
Charlie Ham 32 yd FG GOODDuke 17, Charlotte 0
Charlotte Missed FG, 9 plays
2:01
1st & 0 at own 35
Jack Driggers kickoff for 65 yds , Chavon McEachern return for 26 yds to the Charl 26
1:53
1st & 10 at own 26
Tre Harbison III run for 2 yds to the Charl 28
1:53
2nd & 8 at own 28
Tre Harbison III run for 5 yds to the Charl 33
1:53
3rd & 3 at own 33
Chris Reynolds run for 2 yds to the Charl 35
Q2 15:00
4th & 1 at own 35
Tre Harbison III run for 2 yds to the Charl 37 for a 1ST down
Q2 15:00
1st & 10 at own 37
DUKE Penalty, Defensive offside (Derrick Tangelo) to the Charl 42
Q2 15:00
1st & 5 at own 42
Chris Reynolds pass complete to Micaleous Elder for 30 yds to the Duke 28 for a 1ST down
Q2 15:00
1st & 10 at opp 28
Chris Reynolds pass incomplete to Victor Tucker, broken up by Michael Carter II
Q2 15:00
2nd & 10 at opp 28
Chris Reynolds pass incomplete to Tyler Ringwood
Q2 15:00
3rd & 10 at opp 28
Chris Reynolds pass incomplete to Micaleous Elder
Q2 13:04
4th & 10 at opp 28
Jonathan Cruz 45 yd FG MISSED
2nd quarter5 drives, then Duke 24, Charlotte 7
Duke Touchdown, 4 plays
13:04
1st & 10 at own 28
Mataeo Durant run for 2 yds to the Duke 30
13:04
2nd & 8 at own 30
Mataeo Durant run for 60 yds to the Charl 10 for a 1ST down
13:04
1st & goal at opp 10
Chase Brice pass incomplete to Jarett Garner
12:17
2nd & goal at opp 10
Mataeo Durant run for 10 yds for a TD (Charlie Ham KICK) CHARLOTTE Penalty, Defensive offside ( Yards) declinedDuke 24, Charlotte 0
Charlotte Touchdown, 17 plays
12:17
1st & 0 at own 35
Jack Driggers kickoff for 61 yds , Calvin Camp return for 14 yds to the Charl 49 CHARLOTTE Penalty, unsportsmanlike conduct (Donta Armstrong) to the Charl 9
12:10
1st & 10 at own 9
Chris Reynolds pass complete to Aaron McAllister for 3 yds to the Charl 12
12:10
2nd & 7 at own 12
Tre Harbison III run for 5 yds to the Charl 17
12:10
3rd & 2 at own 17
Chris Reynolds pass complete to Micaleous Elder for 8 yds to the Charl 25 for a 1ST down
12:10
1st & 10 at own 25
Chris Reynolds pass complete to Micaleous Elder for 9 yds to the Charl 34
12:10
2nd & 1 at own 34
Micaleous Elder run for no gain to the Charl 34
12:10
3rd & 1 at own 34
Tre Harbison III run for 6 yds to the Charl 40 for a 1ST down
12:10
1st & 10 at own 40
Chris Reynolds pass incomplete to Ryan Carriere
12:10
2nd & 10 at own 40
Aaron McAllister run for 1 yd to the Charl 41
12:10
3rd & 9 at own 41
Chris Reynolds pass complete to Victor Tucker for 12 yds to the Duke 47 for a 1ST down
12:10
1st & 10 at opp 47
Chris Reynolds pass incomplete, broken up by Derrick Tangelo
12:10
2nd & 10 at opp 47
Chris Reynolds pass incomplete
12:10
3rd & 10 at opp 47
Chris Reynolds pass complete to Tyler Ringwood for 16 yds to the Duke 31 for a 1ST down
12:10
1st & 10 at opp 31
Calvin Camp run for 11 yds to the Duke 20 for a 1ST down
12:10
1st & 10 at opp 20
Chris Reynolds run for 8 yds to the Duke 12
12:10
2nd & 2 at opp 12
Dom Shoffner run for no gain to the Duke 12
12:10
3rd & 2 at opp 12
Tre Harbison III run for 7 yds to the Duke 5 for a 1ST down
4:21
1st & goal at opp 5
Micaleous Elder run for 5 yds for a TD (Jonathan Cruz KICK)Duke 24, Charlotte 7
Duke Turnover on downs, 6 plays
4:21
1st & 0 at own 35
Jonathan Cruz kickoff for 65 yds for a touchback
4:21
1st & 10 at own 25
Gunnar Holmberg run for a loss of 3 yards to the Duke 22
4:21
2nd & 13 at own 22
Gunnar Holmberg pass complete to N/A for 17 yds to the Duke 39 for a 1ST down
4:21
1st & 10 at own 39
Deon Jackson run for 5 yds to the Duke 44
4:21
2nd & 5 at own 44
Deon Jackson run for no gain to the Duke 44
4:21
3rd & 5 at own 44
Gunnar Holmberg pass complete to Jalon Calhoun for 4 yds to the Duke 48
4:21
4th & 1 at own 48
Deon Jackson run for no gain to the Duke 48
Charlotte Fumble, 6 plays
2:26
1st & 10 at opp 48
Aaron McAllister run for 3 yds to the Duke 45
2:26
2nd & 7 at opp 45
Chris Reynolds pass complete to Micaleous Elder for 6 yds to the Duke 39
2:26
3rd & 1 at opp 39
Calvin Camp run for 7 yds to the Duke 32 for a 1ST down
2:26
1st & 10 at opp 32
Micaleous Elder run for no gain to the Duke 32
2:26
2nd & 10 at opp 32
Chris Reynolds sacked by Chris Rumph II for a loss of 9 yards to the Duke 41
2:26
3rd & 19 at opp 41
Dom Shoffner run for 2 yds to the Duke 39 Dom Shoffner fumbled, forced by Derrick Tangelo, recovered by Duke Drew Jordan
Duke End of half, 1 play
0:16
1st & 10 at own 39
Deon Jackson run for 1 yd to the Duke 40
3rd quarter7 drives, then Duke 37, Charlotte 13
Charlotte Punt, 3 plays
15:00
2nd & 9 at own 35
Jack Driggers kickoff for 62 yds , Calvin Camp return for 15 yds to the Charl 18
14:54
1st & 10 at own 18
Chris Reynolds pass incomplete to Micaleous Elder
14:54
2nd & 10 at own 18
Chris Reynolds pass complete to Taylor Thompson for 2 yds to the Charl 20
14:54
3rd & 8 at own 20
Chris Reynolds pass incomplete to Aaron McAllister
14:54
4th & 8 at own 20
Connor Bowler punt for 47 yds, downed at the Duke 33
Duke Punt, 3 plays
13:48
1st & 10 at own 33
Deon Jackson run for 4 yds to the Duke 37
13:48
2nd & 6 at own 37
Chase Brice pass incomplete to Noah Gray
13:48
3rd & 6 at own 37
Chase Brice pass incomplete
13:48
4th & 6 at own 37
Porter Wilson punt for 36 yds , Micaleous Elder returns for 2 yds to the Charl 29
Charlotte Defensive TD, 3 plays (Duke scores)
13:07
1st & 10 at own 29
Chris Reynolds sacked by Chris Rumph II for a loss of 8 yards to the Charl 21
13:07
2nd & 18 at own 21
Aaron McAllister run for 3 yds to the Charl 24
13:07
3rd & 15 at own 24
Chris Reynolds sacked by Chris Rumph II for a loss of 4 yards to the Charl 20
13:07
4th & 19 at own 20
Connor Bowler punt blocked by Isaiah Fisher-Smith blocked by Isaiah Fisher-Smith
Duke Result not recorded, 1 play
10:38
1st & goal at opp 5
Deon Jackson run for 5 yds for a TD (Charlie Ham KICK)Duke 31, Charlotte 7
Charlotte Touchdown, 8 plays
10:38
1st & 0 at own 35
Jack Driggers kickoff for 59 yds
10:38
1st & 10 at own 25
Calvin Camp run for 1 yd to the Charl 26
10:38
2nd & 9 at own 26
Chris Reynolds pass complete to Tyler Ringwood for 2 yds to the Charl 28
10:38
3rd & 7 at own 28
Chris Reynolds pass complete to Taylor Thompson for 14 yds to the Charl 42 for a 1ST down
10:38
1st & 10 at own 42
Victor Tucker run for 41 yds to the Duke 17 for a 1ST down
7:50
1st & 10 at opp 17
Timeout CHARLOTTE, clock 07:50
7:50
1st & 10 at opp 17
REYNOLDS, Chris pass incomplete to TUCKER, Victor, PENALTY DU offside (Oben, R.) 5 yards to the DU12, NO PLAY.
7:50
1st & 5 at opp 12
Tre Harbison III run for 2 yds to the Duke 10
7:50
2nd & 3 at opp 10
Chris Reynolds run for 2 yds to the Duke 8
7:50
3rd & 1 at opp 8
Chris Reynolds pass complete to Taylor Thompson for 2 yds to the Duke 6 for a 1ST down
5:50
1st & goal at 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)Duke 31, Charlotte 13
Duke Touchdown, 8 plays
5:50
1st & 0 at own 35
Jonathan Cruz kickoff for 65 yds , Damond Philyaw-Johnson return for 21 yds to the Duke 21
5:45
1st & 10 at own 21
Chase Brice pass complete to Jarett Garner for 28 yds to the Duke 49 for a 1ST down
5:45
1st & 10 at own 49
Deon Jackson run for 19 yds to the Charl 32 for a 1ST down
5:45
1st & 10 at opp 32
Chase Brice pass complete to Jake Marwede for 12 yds to the Charl 20 for a 1ST down
5:45
1st & 10 at opp 20
Mataeo Durant run for 6 yds to the Charl 14
5:45
2nd & 4 at opp 14
Mataeo Durant run for 3 yds to the Charl 11
5:45
3rd & 1 at opp 11
Mataeo Durant run for 2 yds to the Charl 9 for a 1ST down
5:45
1st & goal at opp 9
Mataeo Durant run for 1 yd to the Charl 8
2:35
2nd & goal at opp 8
Chase Brice pass complete to Jalon Calhoun for 8 yds for a TD (Charlie Ham PAT MISSED)Duke 37, Charlotte 13
Charlotte Touchdown, 15 plays
2:35
1st & 0 at own 35
Jack Driggers kickoff for 65 yds , Calvin Camp return for 17 yds to the Charl 17
2:27
1st & 10 at own 17
Aaron McAllister run for 4 yds to the Charl 21
2:27
2nd & 6 at own 21
Chris Reynolds pass complete to Micaleous Elder for 31 yds to the Duke 48 for a 1ST down
2:27
1st & 10 at opp 48
Chris Reynolds pass incomplete to Micaleous Elder, broken up by Michael Carter II
2:27
2nd & 10 at opp 48
Tre Harbison III run for 7 yds to the Duke 41
2:27
3rd & 3 at opp 41
Aaron McAllister run for 2 yds to the Duke 39
Q4 15:00
4th & 1 at opp 39
Tre Harbison III run for 7 yds to the Duke 32 for a 1ST down
Q4 15:00
1st & 10 at opp 32
Tre Harbison III run for 7 yds to the Duke 25
Q4 15:00
2nd & 3 at opp 25
Chris Reynolds pass complete to Ryan Carriere for a loss of 1 yard to the Duke 26
Q4 15:00
3rd & 4 at opp 26
Chris Reynolds pass incomplete to Victor Tucker
Q4 15:00
4th & 4 at 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.
Q4 15:00
1st & 10 at opp 16
Micaleous Elder run for 2 yds to the Duke 14
Q4 15:00
2nd & 8 at opp 14
Chris Reynolds pass complete to Aaron McAllister for 11 yds to the Duke 3 for a 1ST down
Q4 15:00
1st & goal at opp 3
Aaron McAllister run for a loss of 1 yard to the Duke 4
Q4 15:00
2nd & goal at opp 4
Chris Reynolds run for 2 yds to the Duke 2
Q4 15:00
3rd & goal at opp 2
Chris Reynolds pass incomplete to Victor Tucker, broken up by Jeremiah Lewis
Q4 10:06
4th & goal at opp 2
Tre Harbison III run for 2 yds for a TDDuke 37, Charlotte 19
4th quarter6 drives, then Duke 53, Charlotte 19
Duke Interception, 2 plays
10:06
1st & 0 at own 30
Jonathan Cruz on-side kick recovered by DUKE at the Charl 43 CHARLOTTE Penalty, kick catching interference (-15 Yards) to the Charl 28
10:06
1st & 10 at opp 28
Gunnar Holmberg run for a loss of 16 yards to the Charl 44 Gunnar Holmberg fumbled, recovered by Duke Gunnar Holmberg
10:06
2nd & 26 at opp 44
Gunnar Holmberg pass intercepted Nafees Lyon return for no gain to the Charl 3
Charlotte Fumble, 8 plays
9:29
1st & 10 at own 3
Chris Reynolds run for 6 yds to the Charl 9
9:29
2nd & 4 at own 9
Tre Harbison III run for no gain to the Charl 9
9:29
3rd & 4 at own 9
Chris Reynolds pass complete to Victor Tucker for 8 yds to the Charl 17 for a 1ST down
9:29
1st & 10 at own 17
Calvin Camp run for 11 yds to the Charl 28 for a 1ST down
9:29
1st & 10 at own 28
Chris Reynolds pass incomplete to Tyler Ringwood
9:29
2nd & 10 at own 28
Calvin Camp run for 1 yd to the Charl 29
9:29
3rd & 9 at own 29
Chris Reynolds pass incomplete to Victor Tucker
9:29
4th & 9 at 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
Duke Touchdown, 4 plays
6:13
1st & 10 at opp 19
Jordan Waters run for 4 yds to the Charl 15
6:13
2nd & 6 at opp 15
Chase Brice run for 6 yds to the Charl 9 for a 1ST down
6:13
1st & goal at opp 9
Chase Brice run for 3 yds to the Charl 6
6:13
2nd & goal at 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:17
1st & goal at opp 2
Jordan Waters run for 2 yds for a TD (Charlie Ham KICK)
Charlotte Punt, 3 plays
4:17
1st & 0 at own 35
Jack Driggers kickoff for 60 yds
4:17
1st & 10 at own 25
Dom Shoffner run for 5 yds to the Charl 30
4:17
2nd & 5 at own 30
Dom Shoffner pass incomplete
4:17
3rd & 5 at own 30
Dom Shoffner pass incomplete to Tyler Ringwood
4:17
4th & 5 at own 30
Connor Bowler punt for 45 yds, downed at the Duke 25
Duke Touchdown, 4 plays
3:11
1st & 10 at own 25
Jordan Waters run for 70 yds to the Charl 5 for a 1ST down
3:11
1st & goal at opp 5
Jordan Waters run for 2 yds to the Charl 3
3:11
2nd & goal at opp 3
CHARLOTTE Penalty, Defensive offside (Timmy Horne) to the Charl 1
3:11
2nd & goal at opp 1
Jordan Waters run for no gain to the Charl 1
1:02
3rd & goal at opp 1
Gunnar Holmberg run for 1 yd for a TD (Charlie Ham KICK)
Charlotte Result not recorded, 2 plays
1:02
1st & 0 at own 35
Jackson Hubbard kickoff for 50 yds , Aaron McAllister return for 22 yds to the DUKE 43 DUKE Penalty, substitution infraction (-5 Yards) to the Charl 42
0:55
1st & 10 at own 42
Dom Shoffner run for 3 yds to the Charl 45
0:55
2nd & 7 at own 45
Calvin Camp run for 3 yds to the Charl 48
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.