Referee Jeff Heaser; umpire Mark Wilson; head linesman Joseph Griesser; line judge Jerry Hocker; side judge Kip Johnson; field judge Rich Misner; back judge Rob Lucklan; center judge James ColeGame 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
Army
Air Force
392
Total yards
184
0
Passing yards
95
392
Rushing yards
89
0.0
Yards per pass
7.9
6.6
Yards per rush
2.5
20
First downs
12
10–12
Third downs
3–11
0–1
Fourth downs
2–3
0
Turnovers
0
2–10
Penalties
3–15
35:20
Possession
24:40
3
Sacks (by defense)
0
Efficiency
Army
Air Force
53%
Success rate
40%
0.35
EPA per play
−0.08
1.19
Explosiveness
0.91
0.35
Rushing EPA
0.02
0.00
Passing EPA
−0.30
50%
Passing-down success
20%
−0.21
First-down EPA
−0.13
0.79
Second-down EPA
−0.07
1.12
Third-down EPA
0.00
17%
Havoc by its defense
5%
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 64% to win. Army won as Elo’s underdog.
The line
Air Force −6.5, over/under 54.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 67%, Army 33%. 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, 5 plays, 75 yards
Q1 Air ForceMissed FG, 10 plays, 45 yards
Q1 ArmyMissed FG, 12 plays, 57 yards
Q2 Air ForcePunt, 7 plays, 33 yards
Q2 ArmyTouchdown, 9 plays, 78 yards
Q2 Air ForcePunt, 9 plays, 9 yards
Q2 ArmyEnd of half, 3 plays, 16 yards
Q3 Air ForcePunt, 6 plays, 24 yards
Q3 ArmyTurnover on downs, 16 plays, 73 yards
Q3 Air ForceTurnover on downs, 13 plays, 62 yards
Q4 ArmyTouchdown, 14 plays, 84 yards
Q4 Air ForcePunt, 3 plays, 21 yards
Q4 ArmyEnd of game, 1 play, −1 yard
Play by play
1st quarter3 drives, then Army 7, Air Force 0
Army Touchdown, 5 plays
15:00
1st & 10 at own 35
Luke Strebel kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Kell Walker run for 3 yds to the Army 28
15:00
2nd & 7 at own 28
Ahmad Bradshaw run for 48 yds to the AFA 24 for a 1ST down
15:00
1st & 10 at opp 24
Darnell Woolfolk run for 2 yds to the AFA 22
15:00
2nd & 8 at opp 22
Kell Walker run for 1 yd to the AFA 21
12:21
3rd & 7 at opp 21
Ahmad Bradshaw run for 21 yds for a TD, (Blake Wilson KICK)Army 7, Air Force 0
Air Force Missed FG, 10 plays
12:21
1st & 0 at own 35
Nick Schrage kickoff for 65 yds for a touchback
12:21
1st & 10 at own 25
Arion Worthman run for 2 yds to the AFA 27
12:21
2nd & 8 at own 27
Arion Worthman pass complete to Ronald Cleveland for 19 yds to the AFA 46 for a 1ST down
12:21
1st & 10 at own 46
Timothy McVey run for 4 yds to the 50 yard line
12:21
2nd & 6 at the 50
Taven Birdow run for 5 yds to the Army 45
12:21
3rd & 1 at opp 45
Taven Birdow run for 1 yd to the Army 44 for a 1ST down
12:21
1st & 10 at opp 44
Arion Worthman run for 11 yds to the Army 33 for a 1ST down
12:21
1st & 10 at opp 33
Nolan Eriksen run for 1 yd to the Army 32
12:21
2nd & 9 at opp 32
Arion Worthman run for 2 yds to the Army 30
12:21
3rd & 7 at opp 30
Arion Worthman pass incomplete to Timothy McVey
7:28
4th & 7 at opp 30
Luke Strebel 47 yd FG MISSED
Army Missed FG, 12 plays
7:28
1st & 10 at own 30
Kell Walker run for 4 yds to the Army 34
7:28
2nd & 6 at own 34
Darnell Woolfolk run for 3 yds to the Army 37
6:04
3rd & 3 at own 37
Timeout ARMY, clock 06:04
6:04
3rd & 3 at own 37
Ahmad Bradshaw run for 4 yds to the Army 41 for a 1ST down
6:04
1st & 10 at own 41
Darnell Woolfolk run for 1 yd to the Army 42
6:04
2nd & 9 at own 42
ARMY Penalty, false start (-5 Yards) to the Army 37
6:04
2nd & 14 at own 37
Ahmad Bradshaw run for 13 yds to the 50 yard line
6:04
3rd & 1 at the 50
Darnell Woolfolk run for 1 yd to the AFA 49 for a 1ST down
6:04
1st & 10 at opp 49
Ahmad Bradshaw run for a loss of 1 yard to the 50 yard line
6:04
2nd & 11 at the 50
Ahmad Bradshaw run for 32 yds to the AFA 18 for a 1ST down
6:04
1st & 10 at opp 18
Kell Walker run for 2 yds to the AFA 16
6:04
2nd & 8 at opp 16
Kell Walker run for no gain to the AFA 16
6:04
3rd & 8 at opp 16
Darnell Woolfolk run for 3 yds to the AFA 13
Q2 14:56
4th & 5 at opp 13
Blake Wilson 30 yd FG MISSED
2nd quarter4 drives, then Army 14, Air Force 0
Air Force Punt, 7 plays
14:56
1st & 10 at own 20
Arion Worthman run for 4 yds to the AFA 24
14:56
2nd & 6 at own 24
Taven Birdow run for no gain to the AFA 24
13:43
3rd & 6 at own 24
Timeout ARMY, clock 13:43
13:43
3rd & 6 at own 24
Arion Worthman pass complete to Jake Matkovich for 18 yds to the AFA 42 for a 1ST down
13:43
1st & 10 at own 42
Timothy McVey run for 13 yds to the Army 45 for a 1ST down
13:43
1st & 10 at opp 45
Arion Worthman pass incomplete
13:43
2nd & 10 at opp 45
Ronald Cleveland run for a loss of 2 yards to the Army 47
13:43
3rd & 12 at opp 47
Arion Worthman pass incomplete AIR FORCE Penalty, Offensive holding ( Yards) declined
13:43
4th & 12 at opp 47
Charlie Scott punt for 25 yds, downed at the Army 22
Army Touchdown, 9 plays
11:35
1st & 10 at own 22
Darnell Woolfolk run for 3 yds to the Army 25
11:35
2nd & 7 at own 25
Kell Walker run for 6 yds to the Army 31
11:35
3rd & 1 at own 31
Ahmad Bradshaw run for 4 yds to the Army 35 for a 1ST down
11:35
1st & 10 at own 35
Ahmad Bradshaw run for 9 yds to the Army 44
11:35
2nd & 1 at own 44
Andy Davidson run for 3 yds to the Army 47 for a 1ST down
11:35
1st & 10 at own 47
Darnell Woolfolk run for 4 yds to the AFA 49
11:35
2nd & 6 at opp 49
Ahmad Bradshaw run for 18 yds to the AFA 31 for a 1ST down
11:35
1st & 10 at opp 31
Kell Walker run for 4 yds to the AFA 27
6:18
2nd & 6 at opp 27
Kell Walker run for 27 yds for a TD, (Blake Wilson KICK)Army 14, Air Force 0
Air Force Punt, 9 plays
6:18
1st & 0 at own 35
Nick Schrage kickoff for 65 yds for a touchback
6:18
1st & 10 at own 25
Timothy McVey run for 1 yd to the AFA 26
6:18
2nd & 9 at own 26
Timothy McVey run for 4 yds to the AFA 30
6:18
3rd & 5 at own 30
Taven Birdow run for 4 yds to the AFA 34
6:18
4th & 1 at own 34
Arion Worthman run for 5 yds to the AFA 39 for a 1ST down
6:18
1st & 10 at own 39
Arion Worthman run for 7 yds to the AFA 46
6:18
2nd & 3 at own 46
Timothy McVey run for 4 yds to the 50 yard line for a 1ST down
6:18
1st & 10 at the 50
Ronald Cleveland run for 2 yds to the Army 48
6:18
2nd & 8 at opp 48
Andrew Smith pass incomplete AIR FORCE Penalty, intentional grounding (Andrew Smith) to the AFA 46
6:18
3rd & 14 at own 46
Arion Worthman run for a loss of 7 yards to the AFA 39 Arion Worthman fumbled, recovered by AFA Arion Worthman
6:18
4th & 21 at own 39
AIR FORCE Penalty, delay of game (-5 Yards) to the AFA 34
6:18
4th & 26 at own 34
Charlie Scott punt for 43 yds, downed at the Army 23
Army End of half, 3 plays
0:53
1st & 10 at own 23
Darnell Woolfolk run for 1 yd to the Army 24
0:49
2nd & 9 at own 24
Timeout AIR FORCE, clock 00:49
0:49
2nd & 9 at own 24
Ahmad Bradshaw run for 16 yds to the Army 40 for a 1ST down
0:49
1st & 10 at own 40
Kell Walker run for a loss of 1 yard to the Army 39
3rd quarter3 drives, then Army 14, Air Force 0
Air Force Punt, 6 plays
15:00
2nd & 11 at own 35
Nick Schrage kickoff for 65 yds for a touchback
15:00
1st & 10 at own 25
Timothy McVey run for 5 yds to the AFA 30
15:00
2nd & 5 at own 30
Taven Birdow run for 4 yds to the AFA 34
15:00
3rd & 1 at own 34
Timothy McVey run for 10 yds to the AFA 44 for a 1ST down
15:00
1st & 10 at own 44
Arion Worthman run for 5 yds to the AFA 49
15:00
2nd & 5 at own 49
Arion Worthman run for 2 yds to the Army 49
15:00
3rd & 3 at opp 49
Timothy McVey run for a loss of 4 yards to the AFA 49 Timothy McVey fumbled, recovered by AFA Timothy McVey
15:00
4th & 5 at own 49
Charlie Scott punt for 46 yds, downed at the Army 5
Army Turnover on downs, 16 plays
11:32
1st & 10 at own 5
Ahmad Bradshaw run for 20 yds to the Army 25 for a 1ST down
11:32
1st & 10 at own 25
Kell Walker run for 4 yds to the Army 29
11:32
2nd & 6 at own 29
Kell Walker run for 8 yds to the Army 37 for a 1ST down
11:32
1st & 10 at own 37
Ahmad Bradshaw run for 1 yd to the Army 38
11:32
2nd & 9 at own 38
Ahmad Bradshaw run for 8 yds to the Army 46
11:32
3rd & 1 at own 46
Darnell Woolfolk run for 3 yds to the Army 49 for a 1ST down
11:32
1st & 10 at own 49
Kell Walker run for 5 yds to the AFA 46
11:32
2nd & 5 at opp 46
Darnell Woolfolk run for 4 yds to the AFA 42
11:32
3rd & 1 at opp 42
Connor Slomka run for 2 yds to the AFA 40 for a 1ST down
11:32
1st & 10 at opp 40
Ahmad Bradshaw run for 5 yds to the AFA 35
11:32
2nd & 5 at opp 35
Ahmad Bradshaw run for 3 yds to the AFA 32
11:32
3rd & 2 at opp 32
Ahmad Bradshaw run for 4 yds to the AFA 28 for a 1ST down
11:32
1st & 10 at opp 28
ARMY Penalty, false start (Austin Schuffert) to the AFA 33
11:32
1st & 15 at opp 33
Darnell Woolfolk run for 8 yds to the AFA 25
11:32
2nd & 7 at opp 25
Ahmad Bradshaw run for 3 yds to the AFA 22
11:32
3rd & 4 at opp 22
Kell Walker run for 1 yd to the AFA 21
11:32
4th & 3 at opp 21
Kell Walker run for a loss of 1 yard to the AFA 22
Air Force Turnover on downs, 13 plays
0:50
1st & 10 at own 22
Arion Worthman run for 6 yds to the AFA 28
0:50
2nd & 4 at own 28
Arion Worthman run for 6 yds to the AFA 34 for a 1ST down
Q4 15:00
1st & 10 at own 34
Arion Worthman pass complete to Ronald Cleveland for 14 yds to the AFA 48 for a 1ST down
Q4 15:00
1st & 10 at own 48
Arion Worthman pass complete to Marcus Bennett for 12 yds to the Army 40 for a 1ST down
Q4 15:00
1st & 10 at opp 40
Arion Worthman sacked by Kenneth Brinson for a loss of 9 yards to the Army 49
Q4 15:00
2nd & 19 at opp 49
Arion Worthman pass complete to Ryan Reffitt for 13 yds to the Army 36
Q4 15:00
3rd & 6 at opp 36
Nolan Eriksen run for 3 yds to the Army 33
Q4 15:00
4th & 3 at opp 33
Ronald Cleveland run for 8 yds to the Army 25 for a 1ST down
Q4 15:00
1st & 10 at opp 25
Arion Worthman pass incomplete to Ryan Reffitt
Q4 15:00
2nd & 10 at opp 25
Timothy McVey run for a loss of 2 yards to the Army 27
Q4 15:00
3rd & 12 at opp 27
Arion Worthman pass complete to Timothy McVey for 19 yds to the Army 8 AIR FORCE Penalty, Offensive holding (Marcus Bennett) to the Army 18
Q4 15:00
3rd & 3 at opp 18
Timothy McVey run for 2 yds to the Army 16
Q4 15:00
4th & 1 at opp 16
Arion Worthman pass incomplete to Timothy McVey
4th quarter3 drives, then Army 21, Air Force 0
Army Touchdown, 14 plays
9:42
1st & 10 at own 16
Darnell Woolfolk run for 6 yds to the Army 22
9:42
2nd & 4 at own 22
Ahmad Bradshaw run for 5 yds to the Army 27 for a 1ST down
8:17
1st & 10 at own 27
Timeout ARMY, clock 08:17
8:17
1st & 10 at own 27
Darnell Woolfolk run for 5 yds to the Army 32
8:17
2nd & 5 at own 32
Darnell Woolfolk run for 2 yds to the Army 34
8:17
3rd & 3 at own 34
Ahmad Bradshaw run for 6 yds to the Army 40 for a 1ST down
8:17
1st & 10 at own 40
Andy Davidson run for 2 yds to the Army 42
6:10
2nd & 8 at own 42
Timeout AIR FORCE, clock 06:10
6:10
2nd & 8 at own 42
Darnell Woolfolk run for 4 yds to the Army 46
6:10
3rd & 4 at own 46
Ahmad Bradshaw run for 5 yds to the AFA 49 for a 1ST down
6:10
1st & 10 at opp 49
Darnell Woolfolk run for 2 yds to the AFA 47
4:41
2nd & 8 at opp 47
Timeout AIR FORCE, clock 04:41
4:41
2nd & 8 at opp 47
Ahmad Bradshaw run for 5 yds to the AFA 42
4:41
3rd & 3 at opp 42
Ahmad Bradshaw run for 8 yds to the AFA 34 for a 1ST down
3:39
1st & 10 at opp 34
Timeout AIR FORCE, clock 03:39
3:39
1st & 10 at opp 34
Ahmad Bradshaw run for 28 yds to the AFA 6 for a 1ST down
3:39
1st & goal at opp 6
Darnell Woolfolk run for 2 yds to the AFA 4
1:58
2nd & goal at opp 4
Kell Walker run for 4 yds for a TD, (Blake Wilson KICK)Army 21, Air Force 0
Air Force Punt, 3 plays
1:58
1st & 0 at own 35
Nick Schrage kickoff for 65 yds for a touchback
1:58
1st & 10 at own 0
AIR FORCE Penalty, unsportsmanlike conduct off-setting ( Yards) to the AFA 25
1:58
1st & 10 at own 25
Shaquille Vereen pass incomplete to Ja’Mel Sanders, broken up by Elijah Riley
1:58
2nd & 10 at own 25
Nate Romine run for 7 yds to the AFA 32
1:58
3rd & 3 at own 32
Nate Romine sacked by James Nachtigal for a loss of 11 yards to the AFA 21
1:58
4th & 14 at own 21
Charlie Scott punt for 31 yds, downed at the Army 48
Army End of game, 1 play
0:33
1st & 10 at own 48
TEAM run for a loss of 1 yard to the Army 47
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.