Referee Mike Roch; umpire Hilbert Byers; head linesman Adam Loudin; line judge Lance Thomson; side judge Ken Bushey; field judge Ben Vasconcells; back judge Mike Griffith; center judge Joe ClarksonGame officials: stats.ncaa.org box scores, via SportsDataverse
Scoring by quarter
Team
Q1
Q2
Q3
Q4
Final
Navy
0
0
0
14
14
Air Force
0
3
14
11
28
Standouts
No. 6PassingNate Romine8 of 14, 257 yards, 2 TDAir Force
No. 9ReceivingJalen Robinette5 catches, 163 yards, 1 TDAir Force
DefenseHaji Dunn Jr.7 tackles, 2.5 sacks, 2.5 for lossAir Force
From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Navy
Air Force
317
Total yards
430
260
Passing yards
257
57
Rushing yards
173
8.4
Yards per pass
17.1
1.5
Yards per rush
3.3
18
First downs
18
5–15
Third downs
8–16
3–5
Fourth downs
0–0
3
Turnovers
1
3–15
Penalties
5–70
28:00
Possession
32:00
0
Sacks (by defense)
6
Efficiency
Navy
Air Force
36%
Success rate
44%
0.04
EPA per play
0.22
1.34
Explosiveness
1.24
0.14
Rushing EPA
−0.04
−0.06
Passing EPA
1.18
18%
Passing-down success
43%
−0.33
First-down EPA
−0.11
−0.11
Second-down EPA
0.58
0.82
Third-down EPA
0.29
6%
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)
Navy 54% to win. Air Force won as Elo’s underdog.
The line
Air Force −10.5, over/under 50.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 Air Force 77%, Navy 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. Air Force drives left to right, Navy right to left.
Q1 NavyTurnover on downs, 7 plays, 38 yards
Q1 Air ForcePunt, 3 plays, 3 yards
Q1 NavyFumble, 5 plays, 46 yards
Q1 Air ForcePunt, 6 plays, 8 yards
Q1 NavyPunt, 3 plays, 6 yards
Q1 Air ForceInterception, 8 plays, 31 yards
Q1 NavyPunt, 8 plays, 27 yards
Q2 Air ForcePunt, 9 plays, 41 yards
Q2 NavyPunt, 3 plays, 6 yards
Q2 Air ForceField goal, 4 plays, −7 yards
Q2 NavyPunt, 3 plays, 5 yards
Q2 Air ForcePunt, 6 plays, 18 yards
Q2 NavyEnd of half, 1 play, −3 yards
Q3 Air ForceTouchdown, 10 plays, 78 yards
Q3 NavyInterception, 9 plays, 37 yards
Q3 Air ForceTouchdown, 2 plays, 62 yards
Q3 NavyPunt, 3 plays, 1 yard
Q3 Air ForceField goal, 14 plays, 82 yards
Q4 NavyTouchdown, 8 plays, 75 yards
Q4 Air ForceTouchdown, 4 plays, 77 yards
Q4 NavyInterception, 5 plays, 13 yards
Q4 Air ForcePunt, 3 plays, 8 yards
Q4 NavyTouchdown, 14 plays, 86 yards
Q4 Air ForceEnd of game, 1 play, −1 yard
Play by play
1st quarter7 drives, then Tied at 0
Navy Turnover on downs, 7 plays
15:00
1st & 10 at own 35
Luke Strebel kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Chris High run for 4 yds to the Navy 29
15:00
2nd & 6 at own 29
Will Worth run for 2 yds to the Navy 31
15:00
3rd & 4 at own 31
Will Worth pass complete to Dishan Romine for 30 yds to the AFA 39 for a 1ST down
15:00
1st & 10 at opp 39
Shawn White run for 4 yds to the AFA 35
15:00
2nd & 6 at opp 35
Shawn White run for 3 yds to the AFA 32
15:00
3rd & 3 at opp 32
NAVY Penalty, false start (-5 Yards) to the AFA 37
15:00
3rd & 8 at opp 37
Will Worth pass incomplete
11:47
4th & 8 at opp 37
Timeout NAVY, clock 11:47
11:47
4th & 8 at opp 37
Will Worth pass incomplete
Air Force Punt, 3 plays
11:41
1st & 10 at own 37
Jacobi Owens run for 1 yd to the AFA 38
11:41
2nd & 9 at own 38
D.J. Johnson run for 2 yds to the AFA 40
11:41
3rd & 7 at own 40
Nate Romine pass incomplete
11:41
4th & 7 at own 40
Steve Brosy punt for 48 yds , Craig Scott returns for a loss of 1 yard to the Navy 11
Navy Fumble, 5 plays
10:34
1st & 10 at own 11
Chris High run for 4 yds to the Navy 15
10:34
2nd & 6 at own 15
Chris High run for no gain to the Navy 15
10:34
3rd & 6 at own 15
Will Worth pass complete to Jamir Tillman for 39 yds to the AFA 46 for a 1ST down
10:34
1st & 10 at opp 46
AIR FORCE Penalty, face mask (15 yards) (Jack Flor) to the AFA 31 for a 1ST down
8:12
1st & 10 at opp 31
Timeout NAVY, clock 08:12
8:12
1st & 10 at opp 31
Will Worth pass incomplete
8:12
2nd & 10 at opp 31
Will Worth sacked by Haji Dunn Jr. for a loss of 6 yards to the AFA 43 Will Worth fumbled, recovered by AFA Haji Dunn Jr. , return for 0 yards
Air Force Punt, 6 plays
8:03
1st & 10 at own 43
Nate Romine pass incomplete
8:03
2nd & 10 at own 43
Timothy McVey run for 6 yds to the AFA 49
8:03
3rd & 4 at own 49
Nate Romine pass complete to Jalen Robinette for 10 yds to the Navy 41 for a 1ST down
8:03
1st & 10 at opp 41
Nate Romine pass incomplete to Jalen Robinette
8:03
2nd & 10 at opp 41
Nate Romine run for a loss of 4 yards to the AFA 46 Nate Romine fumbled,
8:03
3rd & 23 at own 46
Jacobi Owens run for 5 yds to the Navy 49
8:03
4th & 18 at opp 49
Steve Brosy punt for 36 yds, fair catch by Craig Scott at the Navy 13
Navy Punt, 3 plays
5:37
1st & 10 at own 13
NAVY Penalty, false start (Toneo Gulley) to the Navy 8
5:37
1st & 15 at own 8
Chris High run for 5 yds to the Navy 13
5:37
2nd & 10 at own 13
Will Worth pass complete to Toneo Gulley for 5 yds to the Navy 18
5:37
3rd & 5 at own 18
Toneo Gulley run for 1 yd to the Navy 19
5:37
4th & 4 at own 19
Erik Harris punt for 48 yds
Air Force Interception, 8 plays
3:48
1st & 10 at own 33
D.J. Johnson run for 3 yds to the AFA 36
3:48
2nd & 7 at own 36
Jacobi Owens run for 5 yds to the AFA 41
3:48
3rd & 2 at own 41
Nate Romine run for 4 yds to the AFA 45 for a 1ST down
3:48
1st & 10 at own 45
D.J. Johnson run for 6 yds to the Navy 49
3:48
2nd & 4 at opp 49
D.J. Johnson run for 4 yds to the Navy 45 for a 1ST down
3:48
1st & 10 at opp 45
Nate Romine pass incomplete to Jalen Robinette, broken up by D.J. Palmore
3:48
2nd & 10 at opp 45
Ronald Cleveland run for 9 yds to the Navy 36
3:48
3rd & 1 at opp 36
Tyler Williams pass intercepted Daiquan Thomasson return for no gain to the Navy 11
Navy Punt, 8 plays
0:33
1st & 10 at own 11
Will Worth run for 3 yds to the Navy 14
Q2 15:00
2nd & 7 at own 14
Chris High run for 6 yds to the Navy 20
Q2 15:00
3rd & 1 at own 20
Will Worth run for 1 yd to the Navy 21 for a 1ST down
Q2 15:00
1st & 10 at own 21
Dishan Romine run for 6 yds to the Navy 27
Q2 15:00
2nd & 4 at own 27
Will Worth run for 4 yds to the Navy 31 for a 1ST down
Q2 15:00
1st & 10 at own 31
Will Worth pass incomplete to Jamir Tillman
Q2 15:00
2nd & 10 at own 31
Shawn White run for 8 yds to the Navy 39
Q2 15:00
3rd & 2 at own 39
Chris High run for a loss of 1 yard to the Navy 38
Q2 15:00
4th & 3 at own 38
Erik Harris punt for 44 yds, fair catch by Ronald Cleveland at the AFA 18
2nd quarter6 drives, then Air Force 3, Navy 0
Air Force Punt, 9 plays
11:31
1st & 10 at own 18
Jacobi Owens run for 10 yds to the AFA 28 for a 1ST down
11:31
1st & 10 at own 28
Jacobi Owens run for no gain to the AFA 28
11:31
2nd & 10 at own 28
Nate Romine pass complete to Jacobi Owens for 11 yds to the AFA 39 for a 1ST down
11:31
1st & 10 at own 39
Shayne Davern run for 2 yds to the AFA 41
11:31
2nd & 8 at own 41
Nate Romine run for 1 yd to the AFA 42
11:31
3rd & 7 at own 42
Nate Romine pass complete to Ryan Reffitt for 21 yds to the Navy 37 for a 1ST down
11:31
1st & 10 at opp 37
D.J. Johnson run for 2 yds to the Navy 35
11:31
2nd & 8 at opp 35
Timothy McVey run for a loss of 6 yards to the Navy 41
11:31
3rd & 14 at opp 41
Nate Romine run for no gain to the Navy 41
11:31
4th & 14 at opp 41
Steve Brosy punt for 37 yds, punt out-of-bounds at the Navy 4
Navy Punt, 3 plays
6:51
1st & 10 at own 4
Will Worth pass incomplete to Jamir Tillman
6:51
2nd & 10 at own 4
Chris High run for 3 yds to the Navy 7
6:51
3rd & 7 at own 7
Chris High run for 3 yds to the Navy 10
6:51
4th & 4 at own 10
Erik Harris punt
Air Force Field goal, 4 plays
5:30
1st & 10 at opp 12
Jacobi Owens run for 4 yds to the Navy 8
5:30
2nd & 6 at opp 8
Nate Romine pass incomplete to Ryan Reffitt
5:30
3rd & 6 at opp 8
AIR FORCE Penalty, personal foul (Jalen Robinette) to the Navy 23
5:30
3rd & 21 at opp 23
Shayne Davern run for 4 yds to the Navy 19
4:29
4th & 17 at opp 19
Luke Strebel 36 yd FG GOODAir Force 3, Navy 0
Navy Punt, 3 plays
4:29
1st & 0 at own 35
Luke Strebel kickoff for 65 yds for a touchback
4:29
1st & 10 at own 25
Will Worth run for a loss of 5 yards to the Navy 20
4:29
2nd & 15 at own 20
Will Worth pass incomplete to Jamir Tillman
4:29
3rd & 15 at own 20
Will Worth run for 10 yds to the Navy 30
4:29
4th & 5 at own 30
Erik Harris punt for 56 yds, fair catch by Ronald Cleveland at the AFA 14
Air Force Punt, 6 plays
3:12
1st & 10 at own 14
D.J. Johnson run for 2 yds to the AFA 16
3:12
2nd & 8 at own 16
Jacobi Owens run for 7 yds to the AFA 23
3:12
3rd & 1 at own 23
Jacobi Owens run for 4 yds to the AFA 27 for a 1ST down
3:12
1st & 10 at own 27
D.J. Johnson run for 3 yds to the AFA 30
3:12
2nd & 7 at own 30
TEAM run for a loss of 2 yards to the AFA 28
3:12
3rd & 9 at own 28
D.J. Johnson run for 4 yds to the AFA 32
0:16
4th & 5 at own 32
Timeout AIR FORCE, clock 00:16
0:16
4th & 5 at own 32
Steve Brosy punt for 58 yds, fair catch by Craig Scott at the Navy 10
Navy End of half, 1 play
0:07
1st & 10 at own 10
TEAM run for a loss of 3 yards to the Navy 7
3rd quarter5 drives, then Air Force 17, Navy 0
Air Force Touchdown, 10 plays
15:00
2nd & 13 at own 35
Bennett Moehring kickoff for 61 yds , Timothy McVey return for 18 yds to the AFA 22
14:56
1st & 10 at own 22
D.J. Johnson run for 1 yd to the AFA 23
14:56
2nd & 9 at own 23
Nate Romine pass complete to Jalen Robinette for 41 yds to the Navy 36 for a 1ST down
14:56
1st & 10 at opp 36
D.J. Johnson run for 12 yds to the Navy 24 for a 1ST down
14:56
1st & 10 at opp 24
Jacobi Owens run for 4 yds to the Navy 20
14:56
2nd & 6 at opp 20
Shayne Davern run for 5 yds to the Navy 15
14:56
3rd & 1 at opp 15
Jacobi Owens run for 2 yds to the Navy 13 for a 1ST down
14:56
1st & 10 at opp 13
D.J. Johnson run for 9 yds to the Navy 4
14:56
2nd & 1 at opp 4
Timothy McVey run for 3 yds to the Navy 1 for a 1ST down
14:56
1st & goal at opp 1
Nate Romine run for no gain to the Navy 1
9:57
2nd & goal at opp 1
Timothy McVey run for 1 yd for a TD, (Luke Strebel KICK)Air Force 10, Navy 0
Navy Interception, 9 plays
9:57
1st & 0 at own 35
Luke Strebel kickoff for 65 yds for a touchback
9:57
1st & 10 at own 25
Will Worth pass incomplete to Tyler Carmona
9:57
2nd & 10 at own 25
Will Worth pass complete to Jamir Tillman for 14 yds to the Navy 39 for a 1ST down
9:57
1st & 10 at own 39
Chris High run for 1 yd to the Navy 40
9:57
2nd & 9 at own 40
Toneo Gulley run for 5 yds to the Navy 45
9:57
3rd & 4 at own 45
Will Worth run for 3 yds to the Navy 48
9:57
4th & 1 at own 48
Will Worth run for 3 yds to the AFA 49 for a 1ST down
9:57
1st & 10 at opp 49
Will Worth pass complete to Calvin Cass Jr. for 5 yds to the AFA 44
9:57
2nd & 5 at opp 44
Will Worth run for 6 yds to the AFA 38 for a 1ST down
9:57
1st & 10 at opp 38
Will Worth pass intercepted Weston Steelhammer return for no gain to the AFA 38
Air Force Touchdown, 2 plays
5:51
1st & 10 at own 38
AIR FORCE Penalty, personal foul (-15 Yards) to the AFA 23
5:51
1st & 25 at own 23
Shayne Davern run for 2 yds to the AFA 25
4:40
2nd & 23 at own 25
Nate Romine pass complete to Jalen Robinette for 75 yds for a TD, (Luke Strebel KICK)Air Force 17, Navy 0
Navy Punt, 3 plays
4:40
1st & 0 at own 35
Luke Strebel kickoff for 61 yds , Dishan Romine return for 23 yds to the Navy 27
4:35
1st & 10 at own 27
Will Worth sacked by Ryan Watson for a loss of 12 yards to the Navy 15
3:48
2nd & 22 at own 15
Timeout NAVY, clock 03:48
3:48
2nd & 22 at own 15
Will Worth run for 13 yds to the Navy 28
3:48
3rd & 9 at own 28
Will Worth pass incomplete
3:48
4th & 9 at own 28
Erik Harris punt for 52 yds , Ronald Cleveland returns for 3 yds to the AFA 31 AIR FORCE Penalty, illegal block (10 Yards) to the AFA 13
Air Force Field goal, 14 plays
3:18
1st & 10 at own 13
Jacobi Owens run for 9 yds to the AFA 22
3:18
2nd & 1 at own 22
Nate Romine pass complete to Jalen Robinette for 10 yds to the AFA 32 for a 1ST down
3:18
1st & 10 at own 32
Jacobi Owens run for 6 yds to the AFA 38
3:18
2nd & 4 at own 38
Jacobi Owens run for 3 yds to the AFA 41
3:18
3rd & 1 at own 41
Shayne Davern run for 3 yds to the AFA 44 for a 1ST down
3:18
1st & 10 at own 44
Nate Romine run for 2 yds to the AFA 46
Q4 15:00
2nd & 8 at own 46
Nate Romine pass complete to Jalen Robinette for 27 yds to the Navy 27 for a 1ST down
Q4 15:00
1st & 10 at opp 27
Jacobi Owens run for 2 yds to the Navy 25
Q4 15:00
2nd & 8 at opp 25
Tyler Williams run for 7 yds to the Navy 18
Q4 15:00
3rd & 1 at opp 18
D.J. Johnson run for 6 yds to the Navy 12 for a 1ST down
Q4 15:00
1st & 10 at opp 12
D.J. Johnson run for 3 yds to the Navy 9
Q4 12:23
2nd & 7 at opp 9
Timeout AIR FORCE, clock 12:23
Q4 12:23
2nd & 7 at opp 9
Nate Romine pass incomplete to Ryan Reffitt
Q4 12:23
3rd & 7 at opp 9
Shayne Davern run for 4 yds to the Navy 5
Q4 11:33
4th & 3 at opp 5
Luke Strebel 22 yd FG GOODAir Force 20, Navy 0
4th quarter6 drives, then Air Force 28, Navy 14
Navy Touchdown, 8 plays
11:33
1st & 0 at own 35
Luke Strebel kickoff for 65 yds for a touchback
11:33
1st & 10 at own 25
Will Worth pass complete to Jamir Tillman for 7 yds to the Navy 32
11:33
2nd & 3 at own 32
Will Worth pass complete to Jamir Tillman for 7 yds to the Navy 39 for a 1ST down
11:33
1st & 10 at own 39
Will Worth pass complete to Tyler Carmona for 6 yds to the Navy 45
11:33
2nd & 4 at own 45
Chris High run for 2 yds to the Navy 47
11:33
3rd & 2 at own 47
Will Worth pass complete to Jamir Tillman for 21 yds to the AFA 32 for a 1ST down
11:33
1st & 10 at opp 32
Will Worth pass complete to Toneo Gulley for 6 yds to the AFA 26
11:33
2nd & 4 at opp 26
Will Worth pass complete to Jamir Tillman for 5 yds to the AFA 21 for a 1ST down
11:33
1st & 10 at opp 21
AIR FORCE Penalty, Defensive pass interference (Weston Steelhammer) to the AFA 6 for a 1ST down
8:33
1st & goal at opp 6
Shawn White run for 6 yds for a TD, (Bennett Moehring KICK)Air Force 20, Navy 7
Air Force Touchdown, 4 plays
8:33
1st & 0 at own 35
Bennett Moehring kickoff for 42 yds, downed at the AFA 23
8:30
1st & 10 at own 23
Shayne Davern run for 3 yds to the AFA 26
8:30
2nd & 7 at own 26
Shayne Davern run for 4 yds to the AFA 30
8:30
3rd & 3 at own 30
Nate Romine run for 8 yds to the AFA 38 for a 1ST down
6:23
1st & 10 at own 38
Nate Romine pass complete to Timothy McVey for 62 yds for a TD, (R. Cleveland Run For Two-point Conversion)Air Force 28, Navy 7
Navy Interception, 5 plays
6:23
1st & 0 at own 35
Luke Strebel kickoff for 65 yds for a touchback
6:23
1st & 10 at own 25
Will Worth pass complete to Jamir Tillman for 13 yds to the Navy 38 for a 1ST down
6:23
1st & 10 at own 38
Will Worth pass incomplete to Dishan Romine
6:23
2nd & 10 at own 38
Will Worth pass incomplete to Daniel Gonzales, broken up by Jacob Onyechi
6:23
3rd & 10 at own 38
Will Worth pass incomplete to Jamir Tillman, broken up by Haji Dunn Jr.
6:23
4th & 10 at own 38
Will Worth pass intercepted Weston Steelhammer return for no gain to the AFA 29
Air Force Punt, 3 plays
5:54
1st & 10 at own 29
Jacobi Owens run for 1 yd to the AFA 30
5:54
2nd & 9 at own 30
Shayne Davern run for 6 yds to the AFA 36
5:04
3rd & 3 at own 36
Timeout NAVY, clock 05:04
5:04
3rd & 3 at own 36
D.J. Johnson run for 1 yd to the AFA 37
5:00
4th & 2 at own 37
Timeout NAVY, clock 05:00
5:00
4th & 2 at own 37
Steve Brosy punt for 48 yds , Calvin Cass Jr. returns for a loss of 1 yard to the Navy 14
Navy Touchdown, 14 plays
4:47
1st & 10 at own 14
Will Worth sacked by Jack Flor and Haji Dunn Jr. for a loss of 4 yards to the Navy 10
4:47
2nd & 14 at own 10
Will Worth sacked by Ryan Watson for a loss of 8 yards to the Navy 2
4:47
3rd & 22 at own 2
Will Worth pass complete to Taylor Jackson for 21 yds to the Navy 23
4:47
4th & 1 at own 23
Chris High run for 5 yds to the Navy 28 for a 1ST down
4:47
1st & 10 at own 28
Will Worth pass complete to Brandon Colon for 17 yds to the Navy 45 for a 1ST down
4:47
1st & 10 at own 45
Will Worth pass complete to Jamir Tillman for 11 yds to the AFA 44 for a 1ST down
4:47
1st & 10 at opp 44
Will Worth pass complete to Jamir Tillman for 11 yds to the AFA 33 for a 1ST down
4:47
1st & 10 at opp 33
Will Worth sacked by Jack Flor and Grant Ross for a loss of 7 yards to the AFA 40
4:47
2nd & 17 at opp 40
Will Worth sacked by Haji Dunn Jr. for a loss of 4 yards to the AFA 44
4:47
3rd & 21 at opp 44
Will Worth pass complete to Brandon Colon for 42 yds to the AFA 2 for a 1ST down
4:47
1st & goal at opp 2
TEAM pass incomplete
4:47
2nd & goal at opp 2
Shawn White run for no gain to the AFA 2
4:47
3rd & goal at opp 2
Dishan Romine run for 1 yd to the AFA 1
0:10
4th & goal at opp 1
Will Worth run for 1 yd for a TD, (Bennett Moehring KICK)Air Force 28, Navy 14
Air Force End of game, 1 play
0:10
1st & 0 at own 35
Bennett Moehring on-side kick recovered by AIR FORCE at the Navy 42 NAVY Penalty, Defensive offside (-5 Yards) to the Navy 37
0:03
1st & 10 at opp 37
TEAM run for a loss of 1 yard to the Navy 38
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.