From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Army
Air Force
253
Total yards
259
40
Passing yards
104
213
Rushing yards
155
4.4
Yards per pass
4.3
4.2
Yards per rush
3.9
11
First downs
19
4–14
Third downs
5–14
1–2
Fourth downs
0–2
0
Turnovers
6
11–119
Penalties
6–55
32:09
Possession
27:51
2
Sacks (by defense)
0
Efficiency
Army
Air Force
31%
Success rate
42%
0.02
EPA per play
−0.33
1.14
Explosiveness
0.62
0.01
Rushing EPA
−0.38
0.07
Passing EPA
0.16
15%
Passing-down success
35%
−0.14
First-down EPA
−0.28
0.06
Second-down EPA
−0.32
0.49
Third-down EPA
−0.27
23%
Havoc by its defense
7%
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 84% to win. Army pulled the upset.
The line
Air Force −18.5, over/under 32.
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 89%, Army 11%. 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, Army right to left.
Q1 ArmyTouchdown, 4 plays, 75 yards
Q1 Air ForceTurnover on downs, 4 plays, 9 yards
Q1 ArmyField goal, 4 plays, 6 yards
Q1 Air ForceFumble, 4 plays, 18 yards
Q1 ArmyTouchdown, 11 plays, 43 yards
Q1 Air ForceFumble, 2 plays, 22 yards
Q1 ArmyField goal, 6 plays, 24 yards
Q2 Air ForceTurnover on downs, 10 plays, 45 yards
Q2 ArmyPunt, 4 plays, 1 yard
Q2 Air ForceField goal, 9 plays, 59 yards
Q2 ArmyPunt, 5 plays, 15 yards
Q2 Air ForceInterception, 2 plays, 3 yards
Q2 ArmyField goal, 3 plays, 4 yards
Q3 Air ForcePunt, 6 plays, 5 yards
Q3 ArmyPunt, 6 plays, −1 yard
Q3 Air ForceMissed FG, 10 plays, 55 yards
Q3 ArmyPunt, 3 plays, 2 yards
Q3 Air ForcePunt, 3 plays, −6 yards
Q4 ArmyTurnover on downs, 7 plays, 35 yards
Q4 Air ForceFumble, 6 plays, 16 yards
Q4 ArmyPunt, 3 plays, 7 yards
Q4 Air ForceInterception, 6 plays, 44 yards
Q4 ArmyPunt, 3 plays, 4 yards
Q4 Air ForceFumble, 4 plays, 28 yards
Q4 ArmyEnd of game, 4 plays, 13 yards
Play by play
1st quarter7 drives, then Army 17, Air Force 0
Army Touchdown, 4 plays
15:00
1st & 10 at own 35
Reagan Tubbs kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Kanye Udoh run for 6 yds to the ARMY 31
15:00
2nd & 4 at own 31
Bryson Daily run for 5 yds to the ARMY 36 for a 1ST down
15:00
1st & 10 at own 36
Jakobi Buchanan run for 2 yds to the ARMY 38
13:06
2nd & 8 at own 38
Bryson Daily run for 62 yds for a TD (Quinn Maretzki KICK)Army 7, Air Force 0
Air Force Turnover on downs, 4 plays
13:06
1st & 10 at own 35
Cole Talley kickoff for 65 yds for a touchback
13:06
1st & 10 at own 25
Zac Larrier run for 5 yds to the AFA 30
13:06
2nd & 5 at own 30
Emmanuel Michel run for 3 yds to the AFA 33
13:06
3rd & 2 at own 33
Emmanuel Michel run for 1 yd to the AFA 34
11:05
4th & 1 at own 34
Emmanuel Michel run for no gain to the AFA 34
Army Field goal, 4 plays
11:05
1st & 10 at opp 34
Kanye Udoh run for no gain to the AFA 34
11:05
2nd & 10 at opp 34
Bryson Daily pass incomplete to Hayden Reed
11:05
3rd & 10 at opp 34
Bryson Daily run for 6 yds to the AFA 28
9:42
4th & 4 at opp 28
Quinn Maretzki 45 yd FG GOODArmy 10, Air Force 0
Air Force Fumble, 4 plays
9:42
1st & 10 at own 35
Cole Talley kickoff for 65 yds for a touchback
9:42
1st & 10 at own 25
Zac Larrier run for 13 yds to the AFA 38 for a 1ST down
9:42
1st & 10 at own 38
Zac Larrier pass incomplete to Jared Roznos
9:42
2nd & 10 at own 38
John Lee Eldridge III run for 7 yds to the AFA 45
8:05
3rd & 3 at own 45
Zac Larrier run for 2 yds to the AFA 43 Zac Larrier fumbled, recovered by ARMY Leo Lowin Larrier,Zac rush middle for 2 yards loss to the AF 43 fumbled by Larrier,Zac at AF 41 recovered by ARMY Lowin,Leo at AF 43, End Of Play.
Army Touchdown, 11 plays
8:05
1st & 10 at opp 43
Bryson Daily run for 7 yds to the AFA 36
8:05
2nd & 3 at opp 36
Bryson Daily run for 2 yds to the AFA 34
8:05
3rd & 1 at opp 34
Bryson Daily run for 3 yds to the AFA 31 for a 1ST down
8:05
1st & 10 at opp 31
Bryson Daily run for 9 yds to the AFA 22
8:05
2nd & 1 at opp 22
Kanye Udoh run for 2 yds to the AFA 20 for a 1ST down
8:05
1st & 10 at opp 20
Kanye Udoh run for no gain to the AFA 20
8:05
2nd & 10 at opp 20
Bryson Daily run for 1 yd to the AFA 19
8:05
3rd & 9 at opp 19
Bryson Daily pass complete to Casey Reynolds for 7 yds to the AFA 12
8:05
4th & 2 at opp 12
Bryson Daily run for 3 yds to the AFA 9 for a 1ST down
8:05
1st & goal at opp 9
Bryson Daily run for 4 yds to the AFA 5
1:53
2nd & goal at opp 5
Bryson Daily run for 5 yds for a TD (Quinn Maretzki KICK)Army 17, Air Force 0
Air Force Fumble, 2 plays
1:53
1st & 10 at own 35
Cole Talley kickoff for 65 yds for a touchback
1:53
1st & 10 at own 25
Zac Larrier run for 15 yds to the AFA 40 for a 1ST down
1:15
1st & 10 at own 40
Emmanuel Michel run for 7 yds to the AFA 47 Emmanuel Michel fumbled, recovered by ARMY Jimmy Ciarlo Michel,Emmanuel rush middle for 7 yards gain to the AF 47 fumbled by Michel,Emmanuel at AF 41 forced by Gerena,Brett recovered by ARMY Ciarlo,Jimmy at AF 47, End Of Play.
Army Field goal, 6 plays
1:15
1st & 10 at opp 47
Bryson Daily run for 2 yds to the AFA 45
0:00
2nd & 8 at opp 45
Bryson Daily run for 2 yds to the AFA 43
Q2 15:00
3rd & 6 at opp 43
No Huddle-Shotgun Daily,Bryson pass incomplete short right to Short,Noah PENALTY AF Personal Foul (Zdroik,Payton) 15 yards from AF 43 to AF 28, 1ST DOWN. NO PLAY.
Q2 15:00
1st & 10 at opp 28
PENALTY ARMY False Start (Filipowicz,Jackson) 5 yards from AF 28 to AF 33. NO PLAY.
Q2 15:00
1st & 15 at opp 33
No Huddle-Shotgun Daily,Bryson rush left for 6 yards gain to the AF 27, out of bounds at AF 27 PENALTY ARMY Holding (Buckingham,Shayne) 10 yards from AF 33 to AF 43. NO PLAY.
Q2 15:00
1st & 25 at opp 43
Bryson Daily pass complete to Tobi Olawole for 11 yds to the AFA 32
Q2 15:00
2nd & 14 at opp 32
Bryson Daily pass incomplete to Ay’Jaun Marshall
Q2 15:00
3rd & 14 at opp 32
Kanye Udoh run for 9 yds to the AFA 23
Q2 13:14
4th & 5 at opp 23
Quinn Maretzki 40 yd FG GOODArmy 20, Air Force 0
2nd quarter6 drives, then Army 23, Air Force 3
Air Force Turnover on downs, 10 plays
13:14
1st & 10 at own 35
Cole Talley kickoff for 65 yds for a touchback
13:14
1st & 10 at own 25
John Lee Eldridge III run for 12 yds to the AFA 37 for a 1ST down
13:14
1st & 10 at own 37
John Lee Eldridge III run for 3 yds to the AFA 40
13:14
2nd & 7 at own 40
Zac Larrier pass incomplete to Cade Harris
13:14
3rd & 7 at own 40
Zac Larrier pass complete to Brandon Engel for 8 yds to the AFA 48 for a 1ST down
13:14
1st & 10 at own 48
Owen Burk run for 4 yds to the ARMY 48
13:14
2nd & 6 at opp 48
Zac Larrier run for 2 yds to the ARMY 46
13:14
3rd & 4 at opp 46
Larrier,Zac pass incomplete deep middle to Roznos,Jared PENALTY ARMY Pass Interference (Nicolas-Paul,Bo) 15 yards from ARMY46 to ARMY31, 1ST DOWN. NO PLAY.
13:14
1st & 10 at opp 31
Owen Burk run for 2 yds to the ARMY 29
13:14
2nd & 8 at opp 29
Zac Larrier run for 3 yds to the ARMY 26
13:14
3rd & 5 at opp 26
Zac Larrier run for 3 yds to the ARMY 23
8:02
4th & 2 at opp 23
Zac Larrier run for 7 yds to the ARMY 30 Zac Larrier fumbled, recovered by AFA Dane Kinamon Larrier,Zac rush right for 7 yards loss to the ARMY30 fumbled by Larrier,Zac at ARMY28 forced by Powell,Jackson recovered by AF Kinamon,Dane at ARMY30, End Of Play.
Army Punt, 4 plays
8:02
1st & 10 at own 30
Bryson Daily pass complete to Noah Short for 1 yd to the ARMY 29
8:02
2nd & 11 at own 29
Bryson Daily run for 6 yds to the ARMY 35
8:02
3rd & 5 at own 35
Army Penalty, Offensive Holding (-10 Yards) to the ARMY 28
8:02
3rd & 12 at own 25
Army Penalty, Offensive Holding (Yards) declined
5:39
4th & 9 at own 31
Cooper Allan punt for 41 yds, fair catch by Dane Kinamon at the AFA 28
Air Force Field goal, 9 plays
5:39
1st & 10 at own 28
Larrier,Zac pass incomplete deep middle to Roznos,Jared PENALTY ARMY Pass Interference (Jones,Cameron) 15 yards from AF 28 to AF 43, 1ST DOWN. NO PLAY.
5:39
1st & 10 at own 43
Emmanuel Michel run for 13 yds to the ARMY 44 for a 1ST down
5:39
1st & 10 at opp 44
Zac Larrier pass complete to Jared Roznos for 19 yds to the ARMY 25 for a 1ST down
5:39
1st & 10 at opp 25
Zac Larrier run for 1 yd to the ARMY 26
5:39
2nd & 11 at opp 26
Zac Larrier pass incomplete to Caleb Rillos
5:39
3rd & 11 at opp 26
Zac Larrier pass complete to Brandon Engel for 14 yds to the ARMY 12 for a 1ST down
5:39
1st & 10 at opp 12
Zac Larrier run for 1 yd to the ARMY 13
5:39
2nd & 11 at opp 13
Zac Larrier pass incomplete to Brandon Engel
5:39
3rd & 11 at opp 13
Zac Larrier pass incomplete to Jared Roznos
2:31
4th & 11 at opp 13
Matthew Dapore 30 yd FG GOODArmy 20, Air Force 3
Army Punt, 5 plays
2:31
1st & 10 at own 35
Reagan Tubbs kickoff for 64 yds
2:31
1st & 10 at own 25
Bryson Daily run for 7 yds to the ARMY 32
2:31
2nd & 3 at own 32
Jakobi Buchanan run for 4 yds to the ARMY 36 for a 1ST down
2:31
1st & 10 at own 36
Kanye Udoh run for 4 yds to the ARMY 40
2:31
2nd & 6 at own 40
Bryson Daily run for 2 yds to the ARMY 38
1:12
3rd & 8 at own 38
Timeout Air Force, clock 01:12
1:12
3rd & 8 at own 38
Bryson Daily run for 2 yds to the ARMY 40
1:08
4th & 6 at own 40
Timeout Air Force, clock 01:08
0:59
4th & 6 at own 40
Cooper Allan punt for 35 yds , Dane Kinamon returns for 7 yds to the AFA 32
Air Force Interception, 2 plays
0:59
1st & 10 at own 32
Zac Larrier pass complete to John Lee Eldridge III for 3 yds to the AFA 35
0:19
2nd & 7 at own 35
Zac Larrier pass intercepted
Army Field goal, 3 plays
0:19
1st & 10 at opp 25
No Huddle-Shotgun Daily,Bryson pass incomplete deep left to Short,Noah, 1ST DOWN, PENALTY AF Pass Interference (Taylor,Trey) 15 yards from AF 25 to AF 10, 1ST DOWN. NO PLAY.
0:19
1st & goal at opp 10
No Huddle-Shotgun Daily,Bryson sacked for loss of 3 yards to the AF 13 (Richter,Bo) PENALTY ARMY Holding (Finucane,Connor) 10 yards from AF 10 to AF 20. NO PLAY.
0:08
1st & goal at opp 20
Timeout Army, clock 00:08
0:08
1st & goal at opp 20
Bryson Daily run for 1 yd to the AFA 19
0:05
2nd & goal at opp 19
Timeout Army, clock 00:05
0:05
2nd & goal at opp 19
B. Daily takes a knee
0:02
3rd & goal at opp 21
Timeout Army, clock 00:02
0:00
3rd & goal at opp 21
Quinn Maretzki 38 yd FG GOODArmy 23, Air Force 3
3rd quarter5 drives, then Army 23, Air Force 3
Air Force Punt, 6 plays
15:00
1st & 10 at own 35
Cole Talley kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Emmanuel Michel run for 3 yds to the AFA 28
15:00
2nd & 7 at own 28
John Lee Eldridge III run for 5 yds to the AFA 33
15:00
3rd & 2 at own 33
John Lee Eldridge III run for 3 yds to the AFA 36 for a 1ST down
15:00
1st & 10 at own 36
Eldridge III,John Lee rush right for 3 yards gain to the AF 39 (DiDomenico,Max), out of bounds PENALTY AF Illegal Block in Back (Wilson,Wyatt) 10 yards from AF 36 to AF 26. NO PLAY.
15:00
1st & 20 at own 26
Emmanuel Michel run for 9 yds to the AFA 35
15:00
2nd & 11 at own 35
Zac Larrier run for no gain to the AFA 35
15:00
3rd & 11 at own 35
PENALTY AF False Start (Engel,Brandon) 5 yards from AF 35 to AF 30. NO PLAY.
15:00
3rd & 16 at own 30
Zac Larrier pass incomplete to Dane Kinamon
11:16
4th & 16 at own 30
Carson Bay punt for 37 yds , Tyrell Robinson returns for 4 yds to the ARMY 37
Army Punt, 6 plays
11:16
1st & 10 at own 37
Bryson Daily run for 2 yds to the ARMY 39
11:16
2nd & 8 at own 39
Bryson Daily run for 7 yds to the ARMY 46
11:16
3rd & 1 at own 46
Bryson Daily run for 4 yds to the 50 yard line for a 1ST down
11:16
1st & 10 at the 50
Shotgun Daily,Bryson rush left for 3 yards gain to the AF 47 (Richter,Bo) PENALTY ARMY Personal Foul (Finucane,Connor) 15 yards from ARMY50 to ARMY35. NO PLAY.
11:16
1st & 25 at own 35
Bryson Daily pass incomplete to Ay’Jaun Marshall
11:16
2nd & 25 at own 35
Bryson Daily run for 2 yds to the ARMY 33
11:16
3rd & 27 at own 33
Jakobi Buchanan run for 3 yds to the ARMY 36
7:22
4th & 24 at own 36
Cooper Allan punt for 39 yds , Dane Kinamon returns for 5 yds to the AFA 30
Air Force Missed FG, 10 plays
7:22
1st & 10 at own 30
John Lee Eldridge III run for 10 yds to the AFA 40 for a 1ST down
7:22
1st & 10 at own 40
Zac Larrier pass incomplete to Brandon Engel
7:22
2nd & 10 at own 40
Emmanuel Michel run for 1 yd to the AFA 41
7:22
3rd & 9 at own 41
Zac Larrier pass complete to Wyatt Wilson for 27 yds to the ARMY 32 for a 1ST down
7:22
1st & 10 at opp 32
Zac Larrier run for 4 yds to the ARMY 28
7:22
2nd & 6 at opp 28
Aiden Calvert run for 3 yds to the ARMY 25 for a 1ST down Army Penalty, Personal Foul (Bo Nicolas-Paul) to the ARMY 12 for a 1ST down
7:22
1st & 10 at opp 12
PENALTY ARMY Personal Foul (Nicolas-Paul,Bo) 6 yards from ARMY12 to ARMY06, 1ST DOWN. NO PLAY.
7:22
1st & goal at opp 6
Zac Larrier run for 1 yd to the ARMY 5
7:22
2nd & goal at opp 5
Zac Larrier run for no gain to the ARMY 5
7:22
3rd & goal at opp 5
Zac Larrier sacked by Quindrelin Hammonds for a loss of 10 yards to the ARMY 15
2:37
4th & goal at opp 15
Matthew Dapore 32 yd FG MISSED
Army Punt, 3 plays
2:37
1st & 10 at own 20
Bryson Daily run for 1 yd to the ARMY 21
2:37
2nd & 9 at own 21
Bryson Daily run for 1 yd to the ARMY 22
2:37
3rd & 8 at own 22
Bryson Daily pass incomplete to Tobi Olawole
1:03
4th & 8 at own 22
Cooper Allan punt for 38 yds , Dane Kinamon returns for no gain to the AFA 40
Air Force Punt, 3 plays
1:03
1st & 10 at own 40
Owen Burk run for 2 yds to the AFA 42
0:00
2nd & 8 at own 42
Zac Larrier pass complete to Zac Larrier for 8 yds to the AFA 34
Q4 15:00
3rd & 16 at own 34
Zac Larrier pass incomplete to Caleb Rillos
Q4 14:50
4th & 16 at own 34
Carson Bay punt for 36 yds, punt out-of-bounds at the ARMY 30
4th quarter7 drives, then Army 23, Air Force 3
Army Turnover on downs, 7 plays
14:50
1st & 10 at own 30
Bryson Daily run for 2 yds to the ARMY 32
14:50
2nd & 8 at own 32
Bryson Daily run for 1 yd to the ARMY 33
14:50
3rd & 7 at own 33
Bryson Daily pass complete to Tyrell Robinson for 23 yds to the AFA 44 for a 1ST down
14:50
1st & 10 at opp 44
PENALTY ARMY Illegal Snap (Small,Brady) 5 yards from AF 44 to AF 49. NO PLAY.
14:50
1st & 15 at opp 49
Bryson Daily run for 8 yds to the AFA 41
14:50
2nd & 7 at opp 41
Bryson Daily run for 3 yds to the AFA 38
14:50
3rd & 4 at opp 38
Bryson Daily run for 3 yds to the AFA 35
10:03
4th & 1 at opp 35
Bryson Daily run for no gain to the AFA 35
Air Force Fumble, 6 plays
10:03
1st & 10 at own 35
Zac Larrier run for 7 yds to the AFA 42
10:03
2nd & 3 at own 42
Zac Larrier pass incomplete to Brandon Engel
10:03
3rd & 3 at own 42
Zac Larrier pass complete to Wyatt Wilson for 12 yds to the ARMY 46 for a 1ST down
10:03
1st & 10 at opp 46
Zac Larrier run for 7 yds to the ARMY 39
10:03
2nd & 3 at opp 39
Zac Larrier pass incomplete to Caleb Rillos
10:03
3rd & 3 at opp 39
PENALTY AF False Start (Kinamon,Dane) 5 yards from ARMY39 to ARMY44. NO PLAY.
8:21
3rd & 8 at opp 44
Zac Larrier sacked by Leo Lowin for a loss of 5 yards to the ARMY 49 Zac Larrier fumbled, recovered by ARMY Jack Latore , return for 0 yards
Army Punt, 3 plays
8:21
1st & 10 at own 49
Kanye Udoh run for 6 yds to the AFA 45
8:21
2nd & 4 at opp 45
Kanye Udoh run for 1 yd to the AFA 44
8:21
3rd & 3 at opp 44
Bryson Daily pass incomplete to Liam Fortner
6:45
4th & 3 at opp 44
Cooper Allan punt for 29 yds, fair catch by Dane Kinamon at the AFA 15
Air Force Interception, 6 plays
6:45
1st & 10 at own 15
Zac Larrier run for 5 yds to the AFA 20
6:45
2nd & 5 at own 20
Zac Larrier pass complete to Dane Kinamon for 10 yds to the AFA 30 for a 1ST down
6:45
1st & 10 at own 30
Zac Larrier run for 6 yds to the AFA 36
6:45
2nd & 4 at own 36
Zac Larrier pass complete to Wyatt Wilson for 8 yds to the AFA 44 for a 1ST down
6:45
1st & 10 at own 44
Zac Larrier pass incomplete to Wyatt Wilson
6:45
2nd & 10 at own 44
No Huddle-Shotgun Larrier,Zac pass incomplete deep right to Kinamon,Dane PENALTY ARMY Pass Interference (Nicolas-Paul,Bo) 15 yards from AF 44 to ARMY41, 1ST DOWN. NO PLAY.
4:39
1st & 10 at opp 41
Zac Larrier pass intercepted
Army Punt, 3 plays
4:39
1st & 10 at own 23
Bryson Daily run for no gain to the ARMY 23
4:39
2nd & 10 at own 23
Bryson Daily run for 2 yds to the ARMY 25
3:50
3rd & 8 at own 25
Timeout Air Force, clock 03:50
3:50
3rd & 8 at own 25
Bryson Daily run for 2 yds to the ARMY 27
3:44
4th & 6 at own 27
Timeout Air Force, clock 03:44
3:33
4th & 6 at own 27
Cooper Allan punt for 52 yds , Dane Kinamon returns for 9 yds to the AFA 30
Air Force Fumble, 4 plays
3:33
1st & 10 at own 30
Jensen Jones pass complete to Caleb Rillos for 11 yds to the AFA 41 for a 1ST down
3:33
1st & 10 at own 41
PENALTY AF False Start 5 yards from AF 41 to AF 36. NO PLAY.
3:33
1st & 15 at own 36
Jensen Jones pass incomplete to Dane Kinamon
3:33
2nd & 15 at own 36
Jensen Jones run for 14 yds to the 50 yard line
2:28
3rd & 1 at the 50
Jet Harris run for 8 yds to the ARMY 42 Jet Harris fumbled, recovered by ARMY Dre Miller Harris,Jet rush middle for 8 yards gain to the ARMY42 fumbled by Harris,Jet at ARMY43 forced by Lowin,Leo recovered by ARMY Miller,Dre at ARMY42, End Of Play.
Army End of game, 4 plays
2:28
1st & 10 at own 42
Bryson Daily run for 5 yds to the ARMY 47
2:28
2nd & 5 at own 47
Champ Harris run for 1 yd to the ARMY 48
2:28
3rd & 4 at own 48
Kanye Udoh run for 9 yds to the AFA 43 for a 1ST down
0:00
1st & 10 at opp 43
C. Harris takes a knee
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.