Referee C. Castlebury; umpire Jim Adams; head linesman Bill Scott; line judge Frank LaBlanc; side judge Fulton Carson; field judge Randy Smith; back judge Joel Wetzel; center judge Stacy HardinGame 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
Air Force
Navy
277
Total yards
387
73
Passing yards
117
204
Rushing yards
270
6.1
Yards per pass
11.7
3.6
Yards per rush
5.3
15
First downs
14
5–16
Third downs
4–14
2–3
Fourth downs
3–3
4
Turnovers
0
3–25
Penalties
7–35
27:30
Possession
32:30
Efficiency
Air Force
Navy
36%
Success rate
33%
−0.26
EPA per play
0.35
0.81
Explosiveness
1.74
−0.30
Rushing EPA
0.24
−0.10
Passing EPA
0.94
28%
Passing-down success
28%
−0.49
First-down EPA
0.23
0.05
Second-down EPA
0.01
−0.41
Third-down EPA
0.83
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)
Navy 64% to win. Elo’s favorite won.
The line
Navy −6, over/under 49.5.
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 Navy 66%, Air Force 34%. 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. Navy drives left to right, Air Force right to left.
Q1 Air ForcePunt, 3 plays, 8 yards
Q1 NavyTouchdown, 5 plays, 67 yards
Q1 Air ForceTurnover on downs, 13 plays, 65 yards
Q1 NavyPunt, 3 plays, 2 yards
Q1 Air ForceFumble, 3 plays, 3 yards
Q1 NavyTouchdown, 10 plays, 64 yards
Q2 Air ForceFumble, 12 plays, 51 yards
Q2 NavyPunt, 3 plays, −5 yards
Q2 Air ForceInterception, 3 plays, 7 yards
Q2 NavyPunt, 3 plays, −11 yards
Q2 Air ForceFumble, 1 play, 3 yards
Q2 NavyTouchdown, 4 plays, 68 yards
Q2 Air ForcePunt, 3 plays, 4 yards
Q2 NavyEnd of half, 1 play, 3 yards
Q3 NavyTouchdown, 12 plays, 75 yards
Q3 Air ForcePunt, 3 plays, 5 yards
Q3 NavyPunt, 3 plays, 9 yards
Q3 Air ForceField goal, 7 plays, 50 yards
Q3 NavyPunt, 3 plays, −4 yards
Q3 Air ForceTouchdown, 11 plays, 53 yards
Q4 NavyField goal, 9 plays, 56 yards
Q4 Air ForcePunt, 6 plays, 7 yards
Q4 NavyField goal, 7 plays, 48 yards
Q4 Air ForceEnd of game, 4 plays, 16 yards
Play by play
1st quarter6 drives, then Navy 7, Air Force 0
Air Force Punt, 3 plays
15:00
1st & 10 at own 35
Austin Grebe kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Karson Roberts run for 2 yds to the AFA 27
15:00
2nd & 8 at own 27
Garrett Brown run for 4 yds to the AFA 31
15:00
3rd & 4 at own 31
Benton Washington run for 2 yds to the AFA 33
15:00
4th & 2 at own 33
Brett Dunn punt for 37 yds , Calvin Cass Jr. returns for 3 yds to the Navy 33
Navy Touchdown, 5 plays
13:12
1st & 10 at own 33
Keenan Reynolds run for 54 yds to the AFA 13 for a 1ST down
13:12
1st & 10 at opp 13
Chris Swain run for 4 yds to the AFA 9
13:12
2nd & 6 at opp 9
Chris Swain run for 8 yds to the AFA 1 for a 1ST down
13:12
1st & goal at opp 1
NAVY Penalty, false start (Joey Gaston) to the AFA 6
13:12
1st & goal at opp 6
Chris Swain run for 4 yds to the AFA 2
11:05
2nd & goal at opp 2
Chris Swain run for 2 yds for a TD, (Austin Grebe KICK)Navy 7, Air Force 0
Air Force Turnover on downs, 13 plays
11:05
1st & 0 at own 35
Austin Grebe kickoff for 58 yds , Tyler Williams return for 27 yds to the AFA 34
11:05
1st & 10 at own 34
D.J. Johnson run for 3 yds to the AFA 37
11:05
2nd & 7 at own 37
Jacobi Owens run for 2 yds to the AFA 39
11:05
3rd & 5 at own 39
Garrett Brown run for 6 yds to the AFA 45 for a 1ST down
11:05
1st & 10 at own 45
Shayne Davern run for 8 yds to the Navy 47
11:05
2nd & 2 at opp 47
Garrett Brown run for 5 yds to the Navy 42 for a 1ST down
11:05
1st & 10 at opp 42
Shayne Davern run for 1 yd to the Navy 41
11:05
2nd & 9 at opp 41
Benton Washington run for 6 yds to the Navy 35
11:05
3rd & 3 at opp 35
D.J. Johnson run for 11 yds to the Navy 24 for a 1ST down
11:05
1st & 10 at opp 24
Jacobi Owens run for 15 yds to the Navy 9 for a 1ST down
11:05
1st & goal at opp 9
D.J. Johnson run for 3 yds to the Navy 6
11:05
2nd & goal at opp 6
Karson Roberts run for 5 yds to the Navy 1
11:05
3rd & goal at opp 1
Shayne Davern run for no gain to the Navy 1
11:05
4th & goal at opp 1
Shayne Davern run for no gain to the Navy 1
Navy Punt, 3 plays
5:39
1st & 10 at own 1
Keenan Reynolds run for 3 yds to the Navy 4
5:39
2nd & 7 at own 4
Keenan Reynolds pass incomplete to Jamir Tillman
5:39
3rd & 7 at own 4
Chris Swain run for a loss of 1 yard to the Navy 3
5:39
4th & 8 at own 3
Alex Barta punt for 36 yds, punt out-of-bounds at the Navy 39
Air Force Fumble, 3 plays
4:06
1st & 10 at opp 39
Karson Roberts run for 4 yds to the Navy 35
4:06
2nd & 6 at opp 35
Karson Roberts pass incomplete to Garrett Brown
4:06
3rd & 6 at opp 35
Karson Roberts run for a loss of 1 yard to the Navy 36 Karson Roberts fumbled, recovered by Navy Kwazel Bertrand
Navy Touchdown, 10 plays
3:30
1st & 10 at own 36
Keenan Reynolds run for 1 yd to the Navy 37
3:30
2nd & 9 at own 37
Keenan Reynolds pass incomplete to Jamir Tillman
3:30
3rd & 9 at own 37
Keenan Reynolds pass complete to DeBrandon Sanders for 26 yds to the AFA 37 for a 1ST down
3:30
1st & 10 at opp 37
Chris Swain run for 3 yds to the AFA 34
3:30
2nd & 7 at opp 34
Keenan Reynolds run for 4 yds to the AFA 30
3:30
3rd & 3 at opp 30
Chris Swain run for 2 yds to the AFA 28
3:30
4th & 1 at opp 28
Keenan Reynolds run for 2 yds to the AFA 26 for a 1ST down
3:30
1st & 10 at opp 26
Keenan Reynolds run for a loss of 1 yard to the AFA 27
Q2 15:00
2nd & 11 at opp 27
Keenan Reynolds pass incomplete
Q2 14:47
3rd & 11 at opp 27
Keenan Reynolds pass complete to Thomas Wilson for 27 yds for a TD, (Austin Grebe KICK)Navy 14, Air Force 0
2nd quarter7 drives, then Navy 21, Air Force 0
Air Force Fumble, 12 plays
14:47
1st & 0 at own 35
Austin Grebe kickoff for 62 yds , Tyler Williams return for 30 yds to the AFA 33
14:47
1st & 10 at own 33
Shayne Davern run for 6 yds to the AFA 39
14:47
2nd & 4 at own 39
Jacobi Owens run for 5 yds to the AFA 44 for a 1ST down
14:47
1st & 10 at own 44
Karson Roberts run for 5 yds to the AFA 49
14:47
2nd & 5 at own 49
Karson Roberts run for a loss of 3 yards to the AFA 48 Karson Roberts fumbled, forced by Will Anthony, recovered by AFA Karson Roberts
14:47
3rd & 6 at own 48
Garrett Brown run for 5 yds to the Navy 47
14:47
4th & 1 at opp 47
D.J. Johnson run for 5 yds to the Navy 42 for a 1ST down
14:47
1st & 10 at opp 42
Garrett Brown run for 7 yds to the Navy 35
14:47
2nd & 3 at opp 35
Benton Washington run for 4 yds to the Navy 31 for a 1ST down
14:47
1st & 10 at opp 31
Benton Washington run for 7 yds to the Navy 24
14:47
2nd & 3 at opp 24
Shayne Davern run for 2 yds to the Navy 22
14:47
3rd & 1 at opp 22
Shayne Davern run for 5 yds to the Navy 17 for a 1ST down
14:47
1st & 10 at opp 17
D.J. Johnson run for 1 yd to the Navy 16 D.J. Johnson fumbled, forced by Will Anthony, recovered by Navy Kwazel Bertrand
Navy Punt, 3 plays
9:35
1st & 10 at own 16
NAVY Penalty, false start (Ben Tamburello) to the Navy 11
9:35
1st & 15 at own 11
Keenan Reynolds run for 1 yd to the Navy 12
9:35
2nd & 14 at own 12
Keenan Reynolds sacked by Santo Coppola for a loss of 1 yard to the Navy 11
9:35
3rd & 15 at own 11
Keenan Reynolds pass incomplete to Chris Swain
9:35
4th & 15 at own 11
Alex Barta punt for 45 yds , Garrett Brown returns for 15 yds to the Navy 41
Air Force Interception, 3 plays
7:53
1st & 10 at opp 41
Jacobi Owens run for 3 yds to the Navy 38
7:53
2nd & 7 at opp 38
Shayne Davern run for 4 yds to the Navy 34
7:53
3rd & 3 at opp 34
Karson Roberts pass intercepted Brendon Clements return for no gain to the Navy 18
Navy Punt, 3 plays
6:48
1st & 10 at own 18
Chris Swain run for 1 yd to the Navy 19
6:48
2nd & 9 at own 19
NAVY Penalty, false start (Ben Tamburello) to the Navy 14
6:48
2nd & 14 at own 14
Keenan Reynolds run for a loss of 13 yards to the Navy 1 NAVY Penalty, intentional grounding (Keenan Reynolds) to the Navy 1
6:48
3rd & 27 at own 1
Chris Swain run for 6 yds to the Navy 7
5:14
4th & 21 at own 7
Timeout NAVY, clock 05:14
5:14
4th & 21 at own 7
Alex Barta punt for 28 yds, punt out-of-bounds at the Navy 35
5:08
1st & 10 at opp 35
Garrett Brown run for a loss of 1 yard to the Navy 32 Garrett Brown fumbled, recovered by Navy D.J. Palmore
Navy Touchdown, 4 plays
4:57
1st & 10 at own 32
Keenan Reynolds run for 67 yds to the AFA 1 for a 1ST down
4:57
1st & goal at opp 1
Keenan Reynolds run for no gain to the AFA 1
3:41
2nd & 0 at opp 1
Timeout NAVY, clock 03:41
3:41
2nd & goal at opp 1
Keenan Reynolds run for no gain to the AFA 1
2:58
3rd & goal at opp 1
Demond Brown run for 1 yd for a TD, (Austin Grebe KICK)Navy 21, Air Force 0
Air Force Punt, 3 plays
2:58
1st & 0 at own 35
Austin Grebe kickoff for 55 yds , Tyler Williams return for 24 yds to the AFA 34
2:58
1st & 10 at own 34
Karson Roberts run for no gain to the AFA 34
2:58
2nd & 10 at own 34
Jacobi Owens run for a loss of 1 yard to the AFA 33
2:58
3rd & 11 at own 33
Karson Roberts pass complete to Ryan Reffitt for 5 yds to the AFA 38
0:59
4th & 6 at own 38
Timeout AIR FORCE, clock 00:59
0:59
4th & 6 at own 38
Brett Dunn punt for 44 yds, downed at the Navy 18
Navy End of half, 1 play
0:46
1st & 10 at own 18
Chris Swain run for 3 yds to the Navy 21
3rd quarter6 drives, then Navy 27, Air Force 3
Navy Touchdown, 12 plays
15:00
2nd & 7 at own 35
Drew Oehrle kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Chris Swain run for 4 yds to the Navy 29
15:00
2nd & 6 at own 29
DeBrandon Sanders run for 15 yds to the Navy 44 for a 1ST down
15:00
1st & 10 at own 44
AIR FORCE Penalty, OF (Dexter Walker) to the Navy 49
15:00
1st & 5 at own 49
Quentin Ezell run for 6 yds to the AFA 45 for a 1ST down
15:00
1st & 10 at opp 45
Dishan Romine run for 3 yds to the AFA 42
15:00
2nd & 7 at opp 42
Keenan Reynolds run for a loss of 1 yard to the AFA 43
15:00
3rd & 8 at opp 43
REYNOLDS, K pass incomplete to SANDERS, D, PENALTY AF pass interference (LINN, Hayes) 15 yards to the AF28, 1ST DOWN NAVY, NO PLAY.
15:00
1st & 10 at opp 28
Chris Swain run for 3 yds to the AFA 25
15:00
2nd & 7 at opp 25
Dishan Romine run for no gain to the AFA 25
15:00
3rd & 7 at opp 25
REYNOLDS, K pass incomplete, PENALTY NAVY HL (GASTON, Joey) 10 yards to the AF35, NO PLAY.
15:00
3rd & 17 at opp 35
Keenan Reynolds pass complete to Dishan Romine for 31 yds to the AFA 4 for a 1ST down
15:00
1st & goal at opp 4
Quentin Ezell run for no gain to the AFA 4
15:00
2nd & goal at opp 4
Keenan Reynolds pass incomplete to Calvin Cass Jr., broken up by Dexter Walker
15:00
3rd & goal at opp 4
Keenan Reynolds run for 3 yds to the AFA 1
9:26
4th & goal at opp 1
Chris Swain run for 1 yd for a TD, (Austin Grebe PAT MISSED)Navy 27, Air Force 0
Air Force Punt, 3 plays
9:26
1st & 0 at own 35
Austin Grebe kickoff for 65 yds for a touchback
9:26
1st & 10 at own 25
Shayne Davern run for 2 yds to the AFA 27
9:26
2nd & 8 at own 27
Karson Roberts run for 3 yds to the AFA 30
9:26
3rd & 5 at own 30
Karson Roberts pass incomplete to Jalen Robinette
9:26
4th & 5 at own 30
Brett Dunn punt for 53 yds, downed at the Navy 17
Navy Punt, 3 plays
7:57
1st & 10 at own 17
Keenan Reynolds pass incomplete to Dishan Romine
7:57
2nd & 10 at own 17
Keenan Reynolds run for 4 yds to the Navy 21
7:57
3rd & 6 at own 21
DeBrandon Sanders run for 5 yds to the Navy 26
6:29
4th & 1 at own 26
Timeout NAVY, clock 06:29
6:29
4th & 1 at own 26
Alex Barta punt for 45 yds, fair catch by Garrett Brown at the AFA 29
Air Force Field goal, 7 plays
6:21
1st & 10 at own 29
Karson Roberts pass incomplete
6:21
2nd & 10 at own 29
Karson Roberts pass complete to Garrett Brown for 34 yds to the Navy 37 for a 1ST down
6:21
1st & 10 at opp 37
Karson Roberts pass complete to Garrett Brown for 12 yds to the Navy 25 for a 1ST down
6:21
1st & 10 at opp 25
Karson Roberts pass incomplete to Jalen Robinette, broken up by Quincy Adams
6:21
2nd & 10 at opp 25
Karson Roberts pass complete to Tyler Williams for 4 yds to the Navy 21
6:21
3rd & 6 at opp 21
Garrett Brown run for no gain to the Navy 21
4:14
4th & 6 at opp 21
Drew Oehrle 39 yd FG GOODNavy 27, Air Force 3
Navy Punt, 3 plays
4:14
1st & 0 at own 35
Drew Oehrle kickoff for 65 yds , Dishan Romine return for 15 yds to the Navy 15
4:14
1st & 10 at own 15
Chris Swain run for 2 yds to the Navy 17
4:14
2nd & 8 at own 17
DeBrandon Sanders run for 2 yds to the Navy 19
4:14
3rd & 6 at own 19
Keenan Reynolds sacked by Jesse Washington for a loss of 8 yards to the Navy 11
4:14
4th & 14 at own 11
Alex Barta punt for 42 yds, fair catch by Garrett Brown at the AFA 47
Air Force Touchdown, 11 plays
2:11
1st & 10 at own 47
Jacobi Owens run for 2 yds to the AFA 49
2:11
2nd & 8 at own 49
Karson Roberts pass complete to Garrett Brown for 18 yds to the Navy 33 for a 1ST down
2:11
1st & 10 at opp 33
Shayne Davern run for 6 yds to the Navy 27
2:11
2nd & 4 at opp 27
Shayne Davern run for 2 yds to the Navy 25
2:11
3rd & 2 at opp 25
Karson Roberts run for 6 yds to the Navy 19 for a 1ST down
2:11
1st & 10 at opp 19
Karson Roberts run for no gain to the Navy 19
Q4 15:00
2nd & 10 at opp 19
Garrett Brown run for 11 yds to the Navy 8 for a 1ST down
Q4 15:00
1st & goal at opp 8
D.J. Johnson run for 3 yds to the Navy 5
Q4 15:00
2nd & goal at opp 5
D.J. Johnson run for 4 yds to the Navy 1
Q4 15:00
3rd & goal at opp 1
D.J. Johnson run for no gain to the Navy 1
Q4 13:46
4th & goal at opp 1
Karson Roberts run for 1 yd for a TD, (K. Roberts Run For Two-point Conversion)Navy 27, Air Force 11
4th quarter4 drives, then Navy 33, Air Force 11
Navy Field goal, 9 plays
13:46
1st & 0 at own 35
Drew Oehrle kickoff for 65 yds for a touchback
13:46
1st & 10 at own 25
Keenan Reynolds pass complete to Craig Scott for 33 yds to the AFA 42 for a 1ST down
13:46
1st & 10 at opp 42
Chris Swain run for 2 yds to the AFA 40
13:46
2nd & 8 at opp 40
Chris Swain run for 6 yds to the AFA 34
13:46
3rd & 2 at opp 34
Quentin Ezell run for 1 yd to the AFA 33
11:11
4th & 1 at opp 33
Timeout NAVY, clock 11:11
11:11
4th & 1 at opp 33
Keenan Reynolds run for 8 yds to the AFA 25 for a 1ST down
11:11
1st & 10 at opp 25
NAVY Penalty, false start (Dishan Romine) to the AFA 30
11:11
1st & 15 at opp 30
Keenan Reynolds run for 4 yds to the AFA 26
11:11
2nd & 11 at opp 26
Keenan Reynolds run for 4 yds to the AFA 22
11:11
3rd & 7 at opp 22
Keenan Reynolds run for 3 yds to the AFA 19
8:00
4th & 4 at opp 19
Austin Grebe 37 yd FG GOODNavy 30, Air Force 11
Air Force Punt, 6 plays
8:00
1st & 0 at own 35
Austin Grebe kickoff for 64 yds , Tyler Williams return for 12 yds to the AFA 13
8:00
1st & 10 at own 13
Karson Roberts run for 4 yds to the AFA 17
8:00
2nd & 6 at own 17
Jacobi Owens run for 3 yds to the AFA 20
8:00
3rd & 3 at own 20
Garrett Brown run for 4 yds to the AFA 24 for a 1ST down
8:00
1st & 10 at own 24
Shayne Davern run for 1 yd to the AFA 25
8:00
2nd & 9 at own 25
Karson Roberts pass incomplete to Jalen Robinette, broken up by Quincy Adams
8:00
3rd & 9 at own 25
AIR FORCE Penalty, delay of game (Karson Roberts) to the AFA 20
8:00
3rd & 14 at own 20
Karson Roberts pass incomplete to Ryan Reffitt
8:00
4th & 14 at own 20
Brett Dunn punt for 35 yds, fair catch by Calvin Cass Jr. at the Navy 45
Navy Field goal, 7 plays
5:57
1st & 10 at own 45
Keenan Reynolds run for 9 yds to the AFA 46
5:57
2nd & 1 at opp 46
Chris Swain run for 3 yds to the AFA 43 for a 1ST down
5:57
1st & 10 at opp 43
Keenan Reynolds run for 40 yds to the AFA 3 for a 1ST down
5:57
1st & goal at opp 3
Keenan Reynolds run for a loss of 1 yard to the AFA 4
3:28
2nd & 0 at opp 4
Timeout NAVY, clock 03:28
3:28
2nd & goal at opp 4
Chris Swain run for 1 yd to the AFA 3
3:28
3rd & goal at opp 3
Keenan Reynolds run for 1 yd to the AFA 2
3:28
4th & goal at opp 2
NAVY Penalty, delay of game (Keenan Reynolds) to the AFA 7
1:56
4th & goal at opp 7
Austin Grebe 24 yd FG GOODNavy 33, Air Force 11
Air Force End of game, 4 plays
1:56
1st & 0 at own 35
Austin Grebe kickoff for 65 yds , Timothy McVey return for 23 yds to the AFA 23
1:56
1st & 10 at own 23
Timothy McVey run for 10 yds to the AFA 33 for a 1ST down
1:56
1st & 10 at own 33
Timothy McVey run for 3 yds to the AFA 36
1:56
2nd & 7 at own 36
Timothy McVey run for 2 yds to the AFA 38
1:56
3rd & 5 at own 38
Timothy McVey run for 1 yd to the AFA 39
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.