Air Force at Navy

Saturday, October 4, 2025

Navy beat Air Force 34–⁠31. It was their 58th meeting; after it, Air Force led the series 34–⁠24.

AwayAir Force4–⁠8 in 2025
31
HomeNavy11–⁠2 in 2025
34

Final at Navy–Marine Corps Memorial Stadium, AnnapolisTV: CBS, Paramount+Attendance 37,517

At kickoff
72°F, clear, wind 3 mph from the eastWeather: NOAA NCEI Global Historical Climatology Network hourly; Annapolis Us Naval Academy Aso, 2 km from the stadium, six minutes before kickoff
Official
Nolan DumasGame officials: stats.ncaa.org box scores, via SportsDataverse

Scoring by quarter

TeamQ1Q2Q3Q4Final
Air Force7371431
Navy31471034

How the win probability moved

Navy favored

Win probability by play: Navy 59% at kickoff, 100% at the end. Biggest swing: 41 points.

Air Force favored

Win probability after every play, from CollegeFootballData.com’s model. The dot marks the biggest swing (41 points).

Standouts

Photos: Wikimedia Commons, free licenses; credits on each player’s page.

Player stats

Air Force

PassingC/AttYdsTDInt
Liam Szarka11/1921220
Kemper Hodges1/13700
RushingCarYdsTDLong
Liam Szarka25152261
Dylan Carson92406
Cade Harris21409
Christopher Frew71006
ReceivingRecYdsTDLong
Bruin Fleischmann6166168
Jonah Dawson153153
Quin Smith115015
Christopher Frew1808
DefenseTklTFLSacksInt
Roger Jones Jr.13000
Blake Fletcher11000
Mikhail Seiken9000
Daniel Grobe4000

Navy

PassingC/AttYdsTDInt
Blake Horvath20/2633930
RushingCarYdsTDLong
Blake Horvath17130159
Jackson Gutierrez331023
Brandon Chatman5807
Shane Reynolds2804
ReceivingRecYdsTDLong
Eli Heidenreich8243380
Nathan Kent241036
Brandon Chatman41809
Cody Howard21308
DefenseTklTFLSacksInt
Luke Pirris120.500
Landon Robinson71.51.50
MarcAnthony Parker7000
Giuseppe Sessi6000
Julian Moutome40.50.50

From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.

Team stats

Air ForceNavy
460Total yards519
249Passing yards339
211Rushing yards180
12.5Yards per pass13.0
4.7Yards per rush6.4
23First downs18
7–⁠13Third downs5–⁠11
1–⁠1Fourth downs2–⁠2
1Turnovers1
3–⁠35Penalties8–⁠49
32:28Possession27:32
0Sacks (by defense)2

Efficiency

Air ForceNavy
49%Success rate43%
0.31EPA per play0.54
1.37Explosiveness1.78
0.11Rushing EPA0.11
0.69Passing EPA0.99
39%Passing-down success39%
0.17First-down EPA0.13
0.18Second-down EPA0.70
0.59Third-down EPA0.87
11%Havoc by its defense12%

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 80% to win. Elo’s favorite won.

The line

Navy −13.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 Navy 82%, Air Force 18%. CollegeFootballData.com’s estimate from the point spread.

Every drive

Navy end zoneAir Force end zoneQ1 NavyField goal, 7 playsQ1 Air ForceTouchdown, 4 playsQ1 NavyFumble, 2 playsQ1 Air ForceMissed FG, 5 playsQ1 NavyPunt, 10 playsQ1 Air ForceField goal, 9 playsQ2 NavyTouchdown, 4 playsQ2 Air ForcePunt, 9 playsQ2 NavyTouchdown, 2 playsQ2 Air ForcePunt, 4 playsQ2 NavyPunt, 3 playsQ2 Air ForceEnd of half, 3 playsQ3 Air ForceTouchdown, 9 playsQ3 NavyTouchdown, 8 playsQ3 Air ForceTouchdown, 11 playsQ4 NavyTouchdown, 4 playsQ4 Air ForceTouchdown, 5 playsQ4 NavyField goal, 9 playsQ4 Air ForceFumble, 8 playsQ4 NavyEnd of game, 8 plays
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.
  1. Q1 NavyField goal, 7 plays, 54 yards
  2. Q1 Air ForceTouchdown, 4 plays, 75 yards
  3. Q1 NavyFumble, 2 plays, 17 yards
  4. Q1 Air ForceMissed FG, 5 plays, 20 yards
  5. Q1 NavyPunt, 10 plays, 41 yards
  6. Q1 Air ForceField goal, 9 plays, 87 yards
  7. Q2 NavyTouchdown, 4 plays, 53 yards
  8. Q2 Air ForcePunt, 9 plays, 27 yards
  9. Q2 NavyTouchdown, 2 plays, 81 yards
  10. Q2 Air ForcePunt, 4 plays, 19 yards
  11. Q2 NavyPunt, 3 plays, 9 yards
  12. Q2 Air ForceEnd of half, 3 plays, 8 yards
  13. Q3 Air ForceTouchdown, 9 plays, 70 yards
  14. Q3 NavyTouchdown, 8 plays, 97 yards
  15. Q3 Air ForceTouchdown, 11 plays, 75 yards
  16. Q4 NavyTouchdown, 4 plays, 71 yards
  17. Q4 Air ForceTouchdown, 5 plays, 75 yards
  18. Q4 NavyField goal, 9 plays, 60 yards
  19. Q4 Air ForceFumble, 8 plays, 24 yards
  20. Q4 NavyEnd of game, 8 plays, 30 yards

Play by play

1st quarter6 drives, then Air Force 7, Navy 3
Navy Field goal, 7 plays
14:541st & 10 at own 35Reagan Tubbs kickoff for 60 yds , Isaiah Bryant return for 20 yds to the NAVY 25
14:411st & 10 at own 25Blake Horvath pass complete to Eli Heidenreich for 36 yds to the AF 39 for a 1ST down
14:021st & 10 at opp 39Brandon Chatman run for 7 yds to the AF 32
13:182nd & 3 at opp 32Blake Horvath pass complete to Cody Howard for 5 yds to the AF 27 for a 1ST down
12:431st & 10 at opp 27Blake Horvath run for a loss of 2 yards to the AF 29
12:072nd & 12 at opp 29Blake Horvath pass incomplete to Nathan Kent
11:593rd & 12 at opp 29Blake Horvath pass complete to Cody Howard for 8 yds to the AF 21
11:224th & 4 at opp 21Nathan Kirkwood 39 yd FG GOODNavy 3, Air Force 0
Air Force Touchdown, 4 plays
11:221st & 10 at own 35Lance Gossett kickoff for 65 yds for a touchback
11:091st & 10 at own 25Liam Szarka run for 61 yds to the NAVY 14 for a 1ST down
10:351st & 10 at opp 14Timeout Air Force, clock 10:35
10:301st & 10 at opp 14Dylan Carson run for 6 yds to the NAVY 8
9:522nd & 4 at opp 8Liam Szarka run for 1 yd to the NAVY 7
9:143rd & 3 at opp 7Liam Szarka run for 7 yds for a TD (Jacob Medina KICK)Air Force 7, Navy 3
Navy Fumble, 2 plays
9:131st & 10 at own 35Reagan Tubbs kickoff for 44 yds , Liam Barbee return for no gain to the NAVY 21
9:011st & 10 at own 21Alex Tecza run for 3 yds to the NAVY 24
8:242nd & 7 at own 24Blake Horvath run for 14 yds to the NAVY 38 Blake Horvath fumbled, recovered by AF Mikhail Seiken
Air Force Missed FG, 5 plays
8:141st & 10 at opp 38Dylan Carson run for 3 yds to the NAVY 35
7:412nd & 7 at opp 35(07:46) No Huddle Szarka,Liam pass incomplete deep middle to Dawson,Jonah thrown to Navy00 PENALTY Navy Holding (Hamilton,Phillip) 10 yards from Navy35 to Navy25, 1ST DOWN. NO PLAY.
7:351st & 10 at opp 25Liam Szarka run for 7 yds to the NAVY 18
6:592nd & 3 at opp 18Dylan Carson run for no gain to the NAVY 18
6:293rd & 3 at opp 18Liam Szarka pass incomplete to Quin Smith
6:244th & 3 at opp 18Jacob Medina 35 yd FG MISSED
Navy Punt, 10 plays
6:191st & 10 at own 20Brandon Chatman run for no gain to the NAVY 20
5:372nd & 10 at own 20Blake Horvath pass complete to Brandon Chatman for 2 yds to the NAVY 22
4:533rd & 8 at own 22Blake Horvath run for 9 yds to the NAVY 31 for a 1ST down
4:121st & 10 at own 31Jackson Gutierrez run for 5 yds to the NAVY 36
3:382nd & 5 at own 36Blake Horvath run for 14 yds to the 50 yard line for a 1ST down
3:011st & 10 at the 50Blake Horvath run for 3 yds to the AF 47
2:212nd & 7 at opp 47Blake Horvath pass complete to Eli Heidenreich for 8 yds to the AF 39 for a 1ST down
1:401st & 10 at opp 39Blake Horvath pass incomplete to Joshua Guerin
1:352nd & 10 at opp 39Blake Horvath run for 2 yds to the AF 37
0:533rd & 8 at opp 37Blake Horvath pass complete to Brandon Chatman for 3 yds to the AF 34
0:154th & 5 at opp 34PENALTY Navy Delay Of Game 5 yards from USAFA34 to USAFA39. NO PLAY.
0:084th & 10 at opp 39Jacob Carlson punt for 33 yds
Air Force Field goal, 9 plays
0:001st & 10 at own 6Kade Frew run for a loss of 4 yards to the AF 2
Q2 14:442nd & 14 at own 2Liam Szarka run for 7 yds to the AF 9
Q2 14:163rd & 7 at own 9Liam Szarka run for 8 yds to the AF 17 for a 1ST down
Q2 13:451st & 10 at own 17Dylan Carson run for 2 yds to the AF 19
Q2 13:002nd & 8 at own 19Liam Szarka pass complete to Bruin Fleischmann for 68 yds to the NAVY 13 for a 1ST down
Q2 12:241st & 10 at opp 13Dylan Carson run for no gain to the NAVY 13
Q2 11:452nd & 10 at opp 13Kade Frew run for 6 yds to the NAVY 7
Q2 11:083rd & 4 at opp 7Timeout Air Force, clock 11:08
Q2 10:583rd & 4 at opp 7Kade Frew run for no gain to the NAVY 7
Q2 10:294th & 4 at opp 7Jacob Medina 24 yd FG GOODAir Force 10, Navy 3
2nd quarter6 drives, then Navy 17, Air Force 10
Navy Touchdown, 4 plays
10:211st & 10 at own 35Reagan Tubbs kickoff for 61 yds , Isaiah Bryant return for 43 yds to the NAVY 47
10:171st & 10 at own 47(10:19) Shotgun Tecza,Alex rush middle for 1 yard gain to the Navy48 (Hubert,Isaac) PENALTY Navy False Start 5 yards from Navy47 to Navy42. NO PLAY.
10:141st & 15 at own 42Blake Horvath pass complete to Nathan Kent for 36 yds to the AF 22 for a 1ST down
10:031st & 10 at opp 22Blake Horvath pass complete to Brandon Chatman for 9 yds to the AF 13
9:102nd & 1 at opp 13Blake Horvath run for a loss of 6 yards to the AF 19 Blake Horvath fumbled, recovered by AF Blake Horvath
8:463rd & 7 at opp 19Blake Horvath pass complete to Eli Heidenreich for 19 yds for a TD (Nathan Kirkwood KICK)Tied at 10
Air Force Punt, 9 plays
8:461st & 10 at own 35Lance Gossett kickoff for 65 yds for a touchback
8:391st & 10 at own 25Liam Szarka run for 3 yds to the AF 28
8:072nd & 7 at own 28Liam Szarka pass incomplete to Cade Harris
7:503rd & 7 at own 28Liam Szarka pass complete to Bruin Fleischmann for 13 yds to the AF 41 for a 1ST down
7:241st & 10 at own 41Liam Szarka pass incomplete to Jonah Dawson
7:202nd & 10 at own 41Liam Szarka run for no gain to the AF 41
6:383rd & 10 at own 41Liam Szarka pass complete to Quin Smith for 15 yds to the NAVY 44 for a 1ST down
5:591st & 10 at opp 44Liam Szarka pass complete to Cade Harris for 3 yds to the NAVY 47
5:302nd & 13 at opp 47Liam Szarka pass incomplete to Cade Harris
5:233rd & 13 at opp 47Liam Szarka run for a loss of 1 yard to the NAVY 48
4:484th & 14 at opp 48Luke Freer punt for 29 yds, fair catch by Brandon Chatman at the NAVY 19
Navy Touchdown, 2 plays
4:391st & 10 at own 19Brandon Chatman run for 1 yd to the NAVY 20
4:022nd & 9 at own 20Blake Horvath pass complete to Eli Heidenreich for 80 yds for a TD (Nathan Kirkwood KICK)Navy 17, Air Force 10
4:021st & 10 at own 35PENALTY USAFA Personal Foul (Fletcher,Blake) 15 yards from Navy35 to Navy50. NO PLAY.
Air Force Punt, 4 plays
3:561st & 10 at the 50Nathan Kirkwood kickoff for 46 yds , Kade Frew return for 24 yds to the AF 28
3:481st & 10 at own 28Liam Szarka pass complete to Bruin Fleischmann for 16 yds to the AF 44 for a 1ST down
3:191st & 10 at own 44Dylan Carson run for 4 yds to the AF 48
2:472nd & 6 at own 48Liam Szarka pass incomplete to Bruin Fleischmann
2:403rd & 6 at own 48Liam Szarka sacked for a loss of 1 yard to the AF 47
2:004th & 7 at own 47Timeout Navy, clock 02:00
1:544th & 7 at own 47Luke Freer punt for 43 yds, fair catch by Brandon Chatman at the NAVY 10
Navy Punt, 3 plays
1:491st & 10 at own 10Blake Horvath run for 3 yds to the NAVY 13
1:132nd & 7 at own 13Blake Horvath pass incomplete to Cody Howard
1:133rd & 7 at own 13PENALTY Navy Delay Of Game (Horvath,Blake) 5 yards from Navy13 to Navy08. NO PLAY.
1:063rd & 16 at own 4Blake Horvath run for 15 yds to the NAVY 19
1:064th & 1 at own 19Timeout Air Force, clock 01:06
1:004th & 1 at own 19Jacob Carlson punt for 52 yds, fair catch by Cade Harris at the AF 29
Air Force End of half, 3 plays
0:531st & 10 at own 29Liam Szarka run for 7 yds to the AF 36
0:302nd & 3 at own 36Liam Szarka pass complete to Kade Frew for 8 yds to the AF 44 for a 1ST down
0:001st & 10 at own 44Liam Szarka sacked by Landon Robinson for a loss of 7 yards to the AF 37
Q3 15:001st & 10 at own 35Lance Gossett kickoff for 65 yds for a touchback Navy Penalty, Defensive Offside (Nolan McCamy)
3rd quarter3 drives, then Navy 24, Air Force 17
Air Force Touchdown, 9 plays
14:551st & 10 at own 30Liam Szarka run for 8 yds to the AF 38
14:212nd & 2 at own 38Liam Szarka run for 3 yds to the AF 41 for a 1ST down
13:451st & 10 at own 41Kade Frew run for 1 yd to the AF 42
13:082nd & 9 at own 42Dylan Carson run for 2 yds to the AF 44
12:313rd & 7 at own 44Liam Szarka run for 6 yds to the 50 yard line
11:294th & 1 at the 50Kemper Hodges pass complete to Bruin Fleischmann for 37 yds to the NAVY 13 for a 1ST down
11:011st & 10 at opp 13Kade Frew run for 1 yd to the NAVY 12
10:312nd & 9 at opp 12(10:33) Shotgun Szarka,Liam pass incomplete short right to Smith,Quin thrown to Navy00, 1ST DOWN, PENALTY Navy Pass Interference (Ross,Justin) 10 yards from Navy12 to Navy02, 1ST DOWN. NO PLAY.
10:211st & goal at opp 2Kemper Hodges run for 1 yd to the NAVY 1
9:582nd & goal at opp 1Liam Szarka run for 1 yd for a TD (Jacob Medina KICK)Tied at 17
Navy Touchdown, 8 plays
9:571st & 10 at own 35Reagan Tubbs kickoff for 63 yds , Isaiah Bryant return for 1 yd to the NAVY 3
9:491st & 10 at own 3Blake Horvath run for 5 yds to the NAVY 8
9:122nd & 5 at own 8Jackson Gutierrez run for 23 yds to the NAVY 31 for a 1ST down
8:401st & 10 at own 31Blake Horvath pass incomplete to Brandon Chatman
8:332nd & 10 at own 31Jackson Gutierrez run for 3 yds to the NAVY 34
7:523rd & 7 at own 34Blake Horvath pass complete to Nathan Kent for 5 yds to the NAVY 39
7:164th & 2 at own 39Blake Horvath run for 3 yds to the NAVY 42 for a 1ST down
6:391st & 10 at own 42Brandon Chatman run for a loss of 1 yard to the NAVY 41
5:522nd & 11 at own 41Blake Horvath run for 59 yds for a TD (Nathan Kirkwood KICK)Navy 24, Air Force 17
Air Force Touchdown, 11 plays
5:521st & 10 at own 35Lance Gossett kickoff for 65 yds for a touchback
5:431st & 10 at own 25Liam Szarka run for 13 yds to the AF 38 for a 1ST down
5:131st & 10 at own 38Cade Harris run for 5 yds to the AF 43
4:372nd & 5 at own 43Dylan Carson run for 5 yds to the AF 48 for a 1ST down
4:031st & 10 at own 48Kade Frew run for 5 yds to the NAVY 47
3:192nd & 5 at opp 47Liam Szarka run for 8 yds to the NAVY 39 for a 1ST down
2:331st & 10 at opp 39Terrence Gist run for 10 yds to the NAVY 29 for a 1ST down
1:591st & 10 at opp 29Liam Szarka run for 5 yds to the NAVY 24
1:092nd & 5 at opp 24Liam Szarka pass complete to Cade Harris for 5 yds to the NAVY 19 for a 1ST down
0:391st & 10 at opp 19Kade Frew run for 1 yd to the NAVY 18
0:002nd & 9 at opp 18Liam Szarka run for no gain to the NAVY 18
Q4 14:553rd & 9 at opp 18Liam Szarka pass complete to Bruin Fleischmann for 18 yds for a TD (Jacob Medina KICK)Tied at 24
4th quarter5 drives, then Navy 34, Air Force 31
Navy Touchdown, 4 plays
14:501st & 10 at own 35Reagan Tubbs kickoff for 57 yds , Isaiah Bryant return for 21 yds to the NAVY 29
14:411st & 10 at own 29Brandon Chatman run for 1 yd to the NAVY 30
14:022nd & 9 at own 30Blake Horvath pass complete to Jackson Gutierrez for 4 yds to the NAVY 34
13:293rd & 5 at own 34Blake Horvath pass complete to Eli Heidenreich for 6 yds to the NAVY 40 for a 1ST down
12:551st & 10 at own 40Blake Horvath pass complete to Eli Heidenreich for 60 yds for a TD (Nathan Kirkwood KICK)Navy 31, Air Force 24
Air Force Touchdown, 5 plays
12:551st & 10 at own 35Lance Gossett kickoff for 65 yds for a touchback
12:451st & 10 at own 25Liam Szarka run for 11 yds to the AF 36 for a 1ST down
12:141st & 10 at own 36Cade Harris run for 9 yds to the AF 45
11:412nd & 1 at own 45Liam Szarka pass incomplete to Bruin Fleischmann
11:343rd & 1 at own 45Dylan Carson run for 2 yds to the AF 47 for a 1ST down
10:591st & 10 at own 47Liam Szarka pass complete to Jonah Dawson for 53 yds for a TD (Jacob Medina KICK)Tied at 31
Navy Field goal, 9 plays
10:521st & 10 at own 35Reagan Tubbs kickoff for 54 yds , Isaiah Bryant return for 12 yds to the NAVY 23
10:451st & 10 at own 23Blake Horvath run for 3 yds to the NAVY 26
10:042nd & 7 at own 26Blake Horvath pass complete to Eli Heidenreich for 27 yds to the AF 47 for a 1ST down Air Force Penalty, (15 Yards) to the AF 32 for a 1ST down
9:341st & 10 at opp 32Blake Horvath pass complete to Shane Reynolds for 3 yds to the AF 29
8:572nd & 7 at opp 29Shane Reynolds run for 4 yds to the AF 25
8:173rd & 3 at opp 25Shane Reynolds run for 4 yds to the AF 21 for a 1ST down
7:411st & 10 at opp 21Blake Horvath pass incomplete to Cody Howard
7:362nd & 10 at opp 21Blake Horvath pass incomplete to Cody Howard
7:203rd & 10 at opp 21Blake Horvath pass complete to Joshua Guerin for 9 yds to the AF 12
6:514th & 1 at opp 12Timeout Navy, clock 06:51
6:514th & 1 at opp 12PENALTY Navy False Start 5 yards from USAFA12 to USAFA17. NO PLAY.
6:474th & 6 at opp 17Nathan Kirkwood 34 yd FG GOODNavy 34, Air Force 31
Air Force Fumble, 8 plays
6:471st & 10 at own 35Lance Gossett kickoff for 63 yds
6:421st & 10 at own 25Liam Szarka pass incomplete to Cade Harris
6:332nd & 10 at own 25Liam Szarka run for 7 yds to the AF 32
5:513rd & 3 at own 32Liam Szarka pass complete to Cade Harris for 5 yds to the AF 37 for a 1ST down
5:161st & 10 at own 37Liam Szarka run for 1 yd to the AF 38
4:332nd & 9 at own 38Liam Szarka pass complete to Bruin Fleischmann for 14 yds to the NAVY 48 for a 1ST down
3:571st & 10 at opp 48Liam Szarka pass incomplete to Jonah Dawson
3:452nd & 10 at opp 48Liam Szarka run for 1 yd to the NAVY 47
3:073rd & 9 at opp 47Liam Szarka run for a loss of 4 yards to the AF 49 Liam Szarka fumbled, recovered by AF Landon Robinson
Navy End of game, 8 plays
2:371st & 10 at opp 49Blake Horvath pass complete to Brandon Chatman for 4 yds to the AF 45
2:152nd & 6 at opp 45Navy Penalty, Offensive Holding (Yards) declined
2:083rd & 8 at opp 47Blake Horvath run for 8 yds to the AF 39 for a 1ST down
2:001st & 10 at opp 39Timeout Navy, clock 02:00
1:561st & 10 at opp 39Blake Horvath run for 1 yd to the AF 38
1:562nd & 9 at opp 38Timeout Air Force, clock 01:56
1:522nd & 9 at opp 38Blake Horvath pass complete to Eli Heidenreich for 7 yds to the AF 31
1:483rd & 2 at opp 31Blake Horvath run for 1 yd to the AF 30
1:404th & 1 at opp 30Blake Horvath pass complete to Jackson Gutierrez for 8 yds to the AF 22 for a 1ST down
1:001st & 10 at opp 22(01:07) Kneel down by Navy at USAFA24 for loss of 2 yards.
0:002nd & 12 at opp 24(00:31) PENALTY USAFA Delay Of Game (Zdroik,Payton) 5 yards from USAFA24 to USAFA19. NO PLAY.

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.

Air Force leads 35–⁠24 in 59 meetings, counting the one since this game.

Recent meetings
2026Air Force 14, Navy 9
2025Navy 34, Air Force 31
2024Navy 34, Air Force 7
2023Air Force 17, Navy 6
2022Air Force 13, Navy 10
2021Air Force 23, Navy 3

Around this game