64°F, mostly cloudy, wind 16 mph from the west, gusts to 26 mphWeather: NOAA NCEI Integrated Surface Database; U.S. Naval Academy (KNAK), 2 km from the stadium, six minutes before kickoff
From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Air Force
Navy
288
Total yards
124
151
Passing yards
102
137
Rushing yards
22
30.2
Yards per pass
3.5
2.9
Yards per rush
0.6
8
First downs
10
1–13
Third downs
3–17
2–2
Fourth downs
2–2
1
Turnovers
2
5–30
Penalties
4–50
31:44
Possession
28:16
4
Sacks (by defense)
1
Efficiency
Air Force
Navy
27%
Success rate
25%
−0.09
EPA per play
−0.26
0.93
Explosiveness
0.88
−0.30
Rushing EPA
−0.25
1.53
Passing EPA
−0.11
6%
Passing-down success
15%
0.01
First-down EPA
−0.61
−0.15
Second-down EPA
−0.04
−0.40
Third-down EPA
−0.34
22%
Havoc by its defense
10%
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)
Air Force 74% to win. Elo’s favorite won.
The line
Air Force −11.5, over/under 34.
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. Navy drives left to right, Air Force right to left.
Q1 Air ForceMissed FG, 9 plays, 50 yards
Q1 NavyPunt, 3 plays, 1 yard
Q1 Air ForcePunt, 4 plays, −9 yards
Q1 NavyPunt, 3 plays, −6 yards
Q1 Air ForceFumble, 2 plays, 26 yards
Q1 NavyPunt, 3 plays, 6 yards
Q1 Air ForceTouchdown, 2 plays, 94 yards
Q2 NavyPunt, 6 plays, 12 yards
Q2 Air ForcePunt, 4 plays, 26 yards
Q2 NavyPunt, 3 plays, 7 yards
Q2 Air ForcePunt, 3 plays, 2 yards
Q2 NavyPunt, 3 plays, −2 yards
Q2 Air ForcePunt, 3 plays, 7 yards
Q2 NavyEnd of half, 3 plays, −3 yards
Q3 NavyPunt, 3 plays, 4 yards
Q3 Air ForcePunt, 3 plays, 9 yards
Q3 NavyPunt, 3 plays, 4 yards
Q3 Air ForceField goal, 9 plays, 35 yards
Q3 NavyPunt, 3 plays, −17 yards
Q3 Air ForceMissed FG, 7 plays, 16 yards
Q4 NavyPunt, 8 plays, 12 yards
Q4 Air ForcePunt, 5 plays, 18 yards
Q4 NavyInterception, 5 plays, 13 yards
Q4 Air ForcePunt, 3 plays, 7 yards
Q4 NavyPick-six, 3 plays (Air Force scores), 0 yards
Q4 NavyTouchdown, 15 plays, 78 yards
Q4 Air ForceEnd of game, 2 plays, −3 yards
Play by play
1st quarter7 drives, then Tied at 0
Air Force Missed FG, 9 plays
15:00
Evan Warren kickoff for 64 yds
15:00
1st & 10 at own 25
Emmanuel Michel run for 4 yds to the AFA 29
15:00
2nd & 6 at own 29
John Lee Eldridge III run for 3 yds to the AFA 32
15:00
3rd & 3 at own 32
John Lee Eldridge III run for 2 yds to the AFA 34
15:00
4th & 1 at own 34
Zac Larrier run for 3 yds to the AFA 37 for a 1ST down
15:00
1st & 10 at own 37
Zac Larrier pass complete to Jared Roznos for 34 yds to the NAVY 29 for a 1ST down
15:00
1st & 10 at opp 29
Emmanuel Michel run for 2 yds to the NAVY 27
15:00
2nd & 8 at opp 27
Zac Larrier run for a loss of 3 yards to the NAVY 30
15:00
3rd & 11 at opp 30
Emmanuel Michel run for 5 yds to the NAVY 25
9:38
4th & 6 at opp 25
Matthew Dapore 42 yd FG MISSED
Navy Punt, 3 plays
9:38
1st & 10 at own 25
Braxton Woodson pass incomplete
9:38
2nd & 10 at own 25
Braxton Woodson run for a loss of 1 yard to the NAVY 24
9:38
3rd & 11 at own 24
Braxton Woodson run for 2 yds to the NAVY 26
8:13
4th & 9 at own 26
Riley Riethman punt for 46 yds
Air Force Punt, 4 plays
8:13
1st & 10 at own 28
Air Force Penalty, Offensive Holding (-10 Yards) to the AFA 21
8:13
1st & 17 at own 21
Air Force Penalty, False Start (Ethan Jackman) to the AFA 16
8:13
1st & 22 at own 16
Owen Burk run for 4 yds to the AFA 20
8:13
2nd & 18 at own 20
Air Force Penalty, False Start (-5 Yards) to the AFA 15
8:13
2nd & 23 at own 15
Zac Larrier run for a loss of 2 yards to the AFA 13
8:13
3rd & 25 at own 13
Owen Burk run for 6 yds to the AFA 19
5:09
4th & 19 at own 19
Carson Bay punt for 41 yds
Navy Punt, 3 plays
5:09
1st & 10 at own 42
Alex Tecza run for a loss of 5 yards to the NAVY 37
5:09
2nd & 15 at own 37
Braxton Woodson run for no gain to the NAVY 37
5:09
3rd & 15 at own 37
Braxton Woodson sacked by PJ Ramsey for a loss of 1 yard to the NAVY 36
3:10
4th & 16 at own 36
Riley Riethman punt for 48 yds , returns for no gain to the AFA 32
Air Force Fumble, 2 plays
3:10
1st & 10 at own 32
Emmanuel Michel run for 4 yds to the AFA 36
2:24
2nd & 6 at own 36
Aiden Calvert run for 22 yds to the NAVY 42 Aiden Calvert fumbled, recovered by NAVY Dashaun Peele
Navy Punt, 3 plays
2:24
1st & 10 at own 42
Alex Tecza run for 3 yds to the NAVY 45
2:24
2nd & 7 at own 45
Daba Fofana run for 2 yds to the NAVY 47
2:24
3rd & 5 at own 47
Braxton Woodson run for 1 yd to the NAVY 48
0:17
4th & 4 at own 48
Riley Riethman punt for 46 yds, downed at the AFA 6
Air Force Touchdown, 2 plays
0:00
1st & 10 at own 6
Emmanuel Michel run for no gain to the AFA 6
Q2 14:48
2nd & 10 at own 6
Zac Larrier pass complete to Dane Kinamon for 94 yds for a TD (Matthew Dapore KICK)Air Force 7, Navy 0
2nd quarter7 drives, then Air Force 7, Navy 0
Navy Punt, 6 plays
14:48
Reagan Tubbs kickoff for 62 yds
14:48
1st & 10 at own 14
Brandon Chatman run for 6 yds to the NAVY 20
13:24
3rd & 7 at own 17
Timeout Air Force, clock 13:24
13:24
2nd & 4 at own 20
Braxton Woodson sacked by Caden Blum and Payton Zdroik for a loss of 3 yards to the NAVY 17
13:24
3rd & 7 at own 17
Alex Tecza run for 8 yds to the NAVY 25 for a 1ST down
13:24
1st & 10 at own 25
Braxton Woodson run for a loss of 4 yards to the NAVY 21 Braxton Woodson fumbled, recovered by NAVY Braxton Woodson
13:24
2nd & 14 at own 21
Braxton Woodson pass complete to Tyler Bradley for 5 yds to the NAVY 26
13:24
3rd & 9 at own 26
Braxton Woodson pass incomplete
11:13
4th & 9 at own 26
Riley Riethman punt for 39 yds, fair catch by Dane Kinamon at the AFA 35
Air Force Punt, 4 plays
11:13
1st & 10 at own 35
Zac Larrier pass complete to Caleb Rillos for 22 yds to the NAVY 43 for a 1ST down
11:13
1st & 10 at opp 43
Air Force Penalty, False Start (Brandon Engel) to the NAVY 48
11:13
1st & 15 at opp 48
Zac Larrier run for no gain to the NAVY 48
11:13
2nd & 15 at opp 48
Jensen Jones run for 4 yds to the NAVY 44
11:13
3rd & 11 at opp 44
Zac Larrier run for 5 yds to the NAVY 39
8:35
4th & 6 at opp 39
Carson Bay punt for 28 yds, fair catch by Amin Hassan at the NAVY 11
Navy Punt, 3 plays
8:35
1st & 10 at own 11
Alex Tecza run for 1 yd to the NAVY 12
8:35
2nd & 9 at own 12
Alex Tecza run for 5 yds to the NAVY 17
8:35
3rd & 4 at own 17
Braxton Woodson pass complete to Brandon Chatman for 1 yd to the NAVY 18
6:31
4th & 3 at own 18
Riley Riethman punt for 24 yds, downed at the NAVY 42
Air Force Punt, 3 plays
6:31
1st & 10 at opp 42
Zac Larrier run for 1 yd to the NAVY 41
6:31
2nd & 9 at opp 41
Zac Larrier sacked by Colin Ramos for 0 yards to the NAVY 41
6:31
3rd & 9 at opp 41
Zac Larrier run for 1 yd to the NAVY 40
4:38
4th & 8 at opp 40
Carson Bay punt for 33 yds, fair catch by Amin Hassan at the NAVY 7
Navy Punt, 3 plays
4:38
1st & 10 at own 7
Alex Tecza run for 1 yd to the NAVY 8
3:19
3rd & 11 at own 6
Timeout Navy, clock 03:19
3:19
2nd & 9 at own 8
Amin Hassan run for a loss of 2 yards to the NAVY 6
3:15
4th & 12 at own 5
Timeout Air Force, clock 03:15
3:15
3rd & 11 at own 6
Braxton Woodson run for a loss of 1 yard to the NAVY 5
3:08
4th & 12 at own 5
Riley Riethman punt for 40 yds, fair catch by Dane Kinamon at the NAVY 45
Air Force Punt, 3 plays
3:08
1st & 10 at opp 45
Emmanuel Michel run for 4 yds to the NAVY 41
3:08
2nd & 6 at opp 41
Zac Larrier run for 3 yds to the NAVY 38
3:08
3rd & 3 at opp 38
Emmanuel Michel run for no gain to the NAVY 38
1:18
4th & 3 at opp 38
Carson Bay punt for 22 yds, fair catch by Amin Hassan at the NAVY 16
Navy End of half, 3 plays
1:18
1st & 10 at own 16
Braxton Woodson run for 2 yds to the NAVY 18
1:12
2nd & 8 at own 18
Navy Penalty, False Start (Jayden Umbarger) to the NAVY 13
1:12
2nd & 13 at own 13
Timeout Air Force, clock 01:12
1:12
2nd & 13 at own 13
Alex Tecza run for 1 yd to the NAVY 14
0:00
3rd & 12 at own 14
[NH] Kneel down by NAV at NAV13 (team loss of 1), clock 00:00.
3rd quarter6 drives, then Air Force 10, Navy 0
Navy Punt, 3 plays
15:00
Reagan Tubbs kickoff for 59 yds
15:00
1st & 10 at own 18
Braxton Woodson run for 3 yds to the NAVY 21
15:00
2nd & 7 at own 21
Alex Tecza run for 1 yd to the NAVY 22
15:00
3rd & 6 at own 22
Braxton Woodson pass incomplete
13:43
4th & 6 at own 22
Riley Riethman punt for 43 yds, fair catch by Dane Kinamon at the AFA 35
Air Force Punt, 3 plays
13:43
1st & 10 at own 35
Emmanuel Michel run for 6 yds to the AFA 41
13:43
2nd & 4 at own 41
Emmanuel Michel run for 2 yds to the AFA 43
13:43
3rd & 2 at own 43
Emmanuel Michel run for 1 yd to the AFA 44
11:44
4th & 1 at own 44
Carson Bay punt for 48 yds
Navy Punt, 3 plays
11:44
1st & 10 at own 9
Braxton Woodson run for 1 yd to the NAVY 10
11:44
2nd & 9 at own 10
Braxton Woodson pass incomplete
11:44
3rd & 9 at own 10
Braxton Woodson run for 3 yds to the NAVY 13
10:22
4th & 6 at own 13
Riley Riethman punt for 45 yds, fair catch by Dane Kinamon at the AFA 42
Air Force Field goal, 9 plays
10:22
1st & 10 at own 42
Emmanuel Michel run for 7 yds to the AFA 49
10:22
2nd & 3 at own 49
LARRIER, Zac pass deep up the middle incomplete intended for ROZNOS, Jared thrown to the NAV0. PENALTY NAV Pass Interference on LANE, Rayuan enforced 15 yards to the NAV36 and results in automatic 1ST DOWN [NH]. NO PLAY (replay the down).
10:22
1st & 10 at opp 36
Emmanuel Michel run for 3 yds to the NAVY 33
10:22
2nd & 7 at opp 33
Zac Larrier run for 5 yds to the NAVY 28
10:22
3rd & 2 at opp 28
Emmanuel Michel run for 1 yd to the NAVY 27
10:22
4th & 1 at opp 27
Zac Larrier run for 2 yds to the NAVY 25 for a 1ST down
10:22
1st & 10 at opp 25
Zac Larrier run for a loss of 1 yard to the NAVY 26 Zac Larrier fumbled, recovered by AFA Zac Larrier
10:22
2nd & 11 at opp 26
Zac Larrier pass incomplete
10:22
3rd & 11 at opp 26
Zac Larrier run for 3 yds to the NAVY 23
5:55
4th & 8 at opp 23
Matthew Dapore 40 yd FG GOODAir Force 10, Navy 0
Navy Punt, 3 plays
5:55
Reagan Tubbs kickoff for 63 yds
5:55
1st & 10 at own 19
Braxton Woodson sacked by Bo Richter for a loss of 10 yards to the NAVY 9
5:55
2nd & 20 at own 9
Braxton Woodson sacked by Jayden Thiergood and Payton Zdroik for a loss of 6 yards to the NAVY 3
5:55
3rd & 26 at own 3
Alex Tecza run for a loss of 1 yard to the NAVY 2
3:39
4th & 27 at own 2
Riley Riethman punt for 32 yds, downed at the NAVY 34
Air Force Missed FG, 7 plays
3:39
1st & 10 at opp 34
Emmanuel Michel run for 7 yds to the NAVY 27
3:39
2nd & 3 at opp 27
Emmanuel Michel run for 2 yds to the NAVY 25
3:39
3rd & 1 at opp 25
Zac Larrier run for 2 yds to the NAVY 23 for a 1ST down
3:39
1st & 10 at opp 23
Emmanuel Michel run for 2 yds to the NAVY 21
0:18
3rd & 6 at opp 19
Timeout Air Force, clock 00:18
0:18
2nd & 8 at opp 21
Emmanuel Michel run for 2 yds to the NAVY 19
0:00
3rd & 6 at opp 19
Zac Larrier pass complete to John Lee Eldridge III for 1 yd to the NAVY 18
Q4 14:55
4th & 5 at opp 18
Matthew Dapore 35 yd FG MISSED
4th quarter7 drives, then Air Force 17, Navy 6
Navy Punt, 8 plays
14:55
1st & 10 at own 20
Tai Lavatai run for no gain to the NAVY 20
14:55
2nd & 10 at own 20
Tai Lavatai pass complete to Camari Williams for 9 yds to the NAVY 29
14:55
3rd & 1 at own 29
Tai Lavatai run for 1 yd to the NAVY 30 for a 1ST down
14:55
1st & 10 at own 30
Alex Tecza run for 7 yds to the NAVY 37
14:55
2nd & 3 at own 37
Eli Heidenreich run for 2 yds to the NAVY 39
14:55
3rd & 1 at own 39
QB Keeper LAVATAI, Tai rush up the middle for a gain of 1 yard to the NAV40 (ZDROIK, Payton). PENALTY AFA Offsides on ZDROIK, Payton enforced 5 yards from the NAV39 to the NAV44 and results in a 1ST DOWN [NH]. NO PLAY (replay the down).
14:55
1st & 10 at own 44
Alex Tecza run for 2 yds to the NAVY 46
14:55
2nd & 8 at own 46
Alex Tecza run for 1 yd to the NAVY 47
14:55
3rd & 7 at own 47
LAVATAI, Tai pass to the right complete for 14 yards to KENT, Nathan caught at the AFA39 and advanced to the AFA39 (YOUNGBLOOD, Johnathan). PENALTY NAV Personal Foul on TECZA, Alex enforced 15 yards from the NAV47 to the NAV32 [NHSG]. NO PLAY (replay the down).
14:55
3rd & 22 at own 32
Tai Lavatai pass incomplete
10:02
4th & 22 at own 32
Riley Riethman punt for 68 yds for a touchback
Air Force Punt, 5 plays
10:02
1st & 10 at own 20
Emmanuel Michel run for 6 yds to the AFA 26
10:02
2nd & 4 at own 26
Emmanuel Michel run for 4 yds to the AFA 30 for a 1ST down
10:02
1st & 10 at own 30
Emmanuel Michel run for 3 yds to the AFA 33
10:02
2nd & 7 at own 33
Zac Larrier run for 5 yds to the AFA 38
10:02
3rd & 2 at own 38
John Lee Eldridge III run for no gain to the AFA 38
6:40
4th & 2 at own 38
Carson Bay punt for 38 yds, downed at the NAVY 24
Navy Interception, 5 plays
6:40
1st & 10 at own 24
Tai Lavatai pass complete to Brandon Chatman for 4 yds to the NAVY 28
6:40
2nd & 6 at own 28
run for a loss of 3 yards to the NAVY 31 fumbled, recovered by NAVY Tai Lavatai
6:40
3rd & 3 at own 31
Tai Lavatai pass incomplete
6:40
4th & 3 at own 31
Tai Lavatai pass complete to Alex Tecza for 6 yds to the NAVY 37 for a 1ST down
5:28
1st & 10 at own 37
Tai Lavatai pass intercepted
Air Force Punt, 3 plays
5:28
1st & 10 at opp 45
Emmanuel Michel run for 2 yds to the NAVY 43
4:23
3rd & 6 at opp 41
Timeout Navy, clock 04:23
4:23
2nd & 8 at opp 43
Emmanuel Michel run for 2 yds to the NAVY 41
4:16
4th & 3 at opp 38
Timeout Navy, clock 04:16
4:16
3rd & 6 at opp 41
Jensen Jones run for 3 yds to the NAVY 38
4:08
4th & 3 at opp 38
Carson Bay punt for 27 yds, downed at the NAVY 11
Navy Pick-six, 3 plays (Air Force scores)
4:08
1st & 10 at own 11
Tai Lavatai pass incomplete
4:08
2nd & 10 at own 11
Tai Lavatai pass incomplete
3:51
3rd & 10 at own 11
Alec Mock 18 Yd Interception Return (Matthew Dapore Kick)Air Force 17, Navy 0
Navy Touchdown, 15 plays
3:51
Reagan Tubbs kickoff for 53 yds
3:51
1st & 10 at own 22
Tai Lavatai pass complete to Alex Tecza for 6 yds to the NAVY 28
3:51
2nd & 4 at own 28
Tai Lavatai pass complete to Alex Tecza for 5 yds to the NAVY 33 for a 1ST down
3:51
1st & 10 at own 33
Tai Lavatai pass incomplete
3:51
2nd & 10 at own 33
Tai Lavatai pass complete to Tyler Bradley for 9 yds to the NAVY 42
3:51
3rd & 1 at own 42
Tai Lavatai run for 1 yd to the NAVY 43 for a 1ST down
3:51
1st & 10 at own 43
Tai Lavatai pass complete to Tyler Bradley for 6 yds to the NAVY 49
3:51
2nd & 4 at own 49
Tai Lavatai pass complete to Alex Tecza for 10 yds to the AFA 41 for a 1ST down
1:47
2nd & 10 at opp 41
Timeout Air Force, clock 01:47
1:47
1st & 10 at opp 41
Tai Lavatai pass incomplete
1:47
2nd & 10 at opp 41
Tai Lavatai pass incomplete
1:47
3rd & 10 at opp 41
Tai Lavatai pass complete to Eli Heidenreich for 7 yds to the AFA 34
1:47
4th & 3 at opp 34
Tai Lavatai pass complete to Jayden Umbarger for 6 yds to the AFA 28 for a 1ST down
1:47
1st & 10 at opp 28
Tai Lavatai pass complete to Eli Heidenreich for 5 yds to the AFA 23
1:47
2nd & 5 at opp 23
Tai Lavatai pass complete to Daba Fofana for 13 yds to the AFA 10 for a 1ST down
0:55
2nd & goal at opp 10
Timeout Air Force, clock 00:55
0:55
1st & goal at opp 10
Tai Lavatai pass incomplete
0:50
2nd & goal at opp 10
Tai Lavatai pass complete to Eli Heidenreich for 10 yds for a TD (Two-Point Conversion failed)Air Force 17, Navy 6
Air Force End of game, 2 plays
0:50
1st & 10 at the 50
Kneel down by AFA at AFA48 (team loss of 2).
0:00
2nd & 12 at own 48
Kneel down by AFA at AFA47 (team loss of 1), clock 00:00.
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.