Referee Mike Roche; umpire Hilbert Byers; head linesman Todd Riddick; line judge Lance Thompson; side judge Ryan Robinson; field judge James Reif; back judge James Sima; center judge Ryan WingersGame 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
Navy
148
Total yards
396
25
Passing yards
1
123
Rushing yards
395
4.2
Yards per pass
1.0
2.6
Yards per rush
7.2
9
First downs
17
4–14
Third downs
7–12
2–3
Fourth downs
0–0
2
Turnovers
0
3–18
Penalties
1–15
27:41
Possession
32:19
1
Sacks (by defense)
2
Efficiency
Army
Navy
38%
Success rate
50%
−0.16
EPA per play
0.35
0.57
Explosiveness
1.07
−0.20
Rushing EPA
0.37
0.07
Passing EPA
0.07
33%
Passing-down success
46%
−0.29
First-down EPA
−0.10
0.16
Second-down EPA
0.88
−0.43
Third-down EPA
0.47
4%
Havoc by its defense
25%
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 66% to win. Elo’s favorite won.
The line
Navy −11.5, over/under 41.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 79%, Army 21%. 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, Army right to left.
Q1 ArmyPunt, 3 plays, −5 yards
Q1 NavyPunt, 3 plays, 9 yards
Q1 ArmyTouchdown, 18 plays, 78 yards
Q1 NavyTouchdown, 4 plays, 75 yards
Q2 ArmyPunt, 5 plays, 17 yards
Q2 NavyPunt, 6 plays, 19 yards
Q2 ArmyPunt, 3 plays, 2 yards
Q2 NavyTouchdown, 12 plays, 91 yards
Q2 ArmyResult not recorded, 0 yards
Q3 NavyMissed FG, 7 plays, 63 yards
Q3 ArmyPunt, 3 plays, −13 yards
Q3 NavyTouchdown, 7 plays, 45 yards
Q3 ArmyPunt, 3 plays, −6 yards
Q3 NavyField goal, 9 plays, 40 yards
Q4 ArmyTurnover on downs, 10 plays, 31 yards
Q4 NavyFumble, recovered, 3 plays, 7 yards
Q4 ArmyFumble, 5 plays, 22 yards
Q4 NavyTouchdown, 6 plays, 47 yards
Q4 ArmyInterception, 3 plays, 7 yards
Play by play
1st quarter4 drives, then Army 7, Navy 0
Army Punt, 3 plays
15:00
1st & 10 at own 35
Bijan Nichols kickoff for 48 yds , Brandon Walters return for 7 yds to the Army 24
14:55
1st & 10 at own 24
Sandon McCoy run for no gain to the Army 24
14:29
2nd & 10 at own 24
Christian Anderson run for a loss of 1 yard to the Army 23
13:54
3rd & 11 at own 23
Christian Anderson sacked by Jacob Springer for a loss of 4 yards to the Army 19
13:24
4th & 15 at own 19
Zach Harding punt for 49 yds, punt out-of-bounds at the Navy 32
Navy Punt, 3 plays
13:24
1st & 10 at own 32
Malcolm Perry run for 2 yds to the Navy 34
12:40
2nd & 8 at own 34
Jamale Carothers run for 5 yds to the Navy 39
11:59
3rd & 3 at own 39
Jamale Carothers run for 2 yds to the Navy 41
11:08
4th & 1 at own 41
Owen White punt for 37 yds, downed at the Army 22
Army Touchdown, 18 plays
11:08
1st & 10 at own 22
Connor Slomka run for 2 yds to the Army 24
10:46
2nd & 8 at own 24
Christian Anderson run for 21 yds to the Army 45 for a 1ST down
9:39
1st & 10 at own 45
Christian Anderson run for 4 yds to the Army 49
9:02
2nd & 6 at own 49
Christian Anderson run for 3 yds to the Navy 48
8:35
3rd & 3 at opp 48
Connor Slomka run for 2 yds to the Navy 46
7:46
4th & 1 at opp 46
Christian Anderson run for 1 yd to the Navy 45 for a 1ST down
7:42
1st & 10 at opp 45
Kell Walker run for a loss of 2 yards to the Navy 47
7:05
2nd & 12 at opp 47
Christian Anderson pass complete to Camden Harrison for 10 yds to the Navy 37
6:27
3rd & 2 at opp 37
Christian Anderson run for 4 yds to the Navy 33 for a 1ST down
5:47
1st & 10 at opp 33
Kell Walker run for 3 yds to the Navy 30
5:04
2nd & 7 at opp 30
Christian Anderson run for 3 yds to the Navy 27
4:28
3rd & 4 at opp 27
Christian Anderson run for 4 yds to the Navy 23 for a 1ST down
3:29
1st & 10 at opp 23
Christian Anderson run for 3 yds to the Navy 20
2:56
2nd & 7 at opp 20
Sandon McCoy run for 5 yds to the Navy 15
2:27
3rd & 2 at opp 15
Sandon McCoy run for 5 yds to the Navy 10 for a 1ST down
1:58
1st & goal at opp 10
Connor Slomka run for 3 yds to the Navy 7
1:37
2nd & goal at opp 7
Connor Slomka run for 2 yds to the Navy 5
0:27
3rd & goal at opp 5
Christian Anderson 5 Yd Run (David Cooper Kick)Army 7, Navy 0
Navy Touchdown, 4 plays
0:27
3rd & 5 at own 35
Landon Salyers kickoff for 65 yds for a touchback
0:00
1st & 10 at own 25
Malcolm Perry sacked by Cole Christiansen for a loss of 1 yard to the Navy 24
Q2 15:00
2nd & 11 at own 24
Malcolm Perry run for 15 yds to the Navy 39 for a 1ST down
Q2 14:38
1st & 10 at own 39
Malcolm Perry run for 6 yds to the Navy 45
Q2 13:34
2nd & 4 at own 45
Malcolm Perry 55 Yd Run (Bijan Nichols Kick)Tied at 7
2nd quarter4 drives, then Navy 14, Army 7
Army Punt, 5 plays
13:34
2nd & 4 at own 35
Bijan Nichols kickoff for 63 yds for a touchback
13:34
1st & 10 at own 25
Christian Anderson run for 7 yds to the Army 32
13:07
2nd & 3 at own 32
Sandon McCoy run for 3 yds to the Army 35 for a 1ST down
12:29
1st & 10 at own 35
Christian Anderson run for 1 yd to the Army 36
12:03
2nd & 9 at own 36
Connor Slomka run for 4 yds to the Army 40
11:11
3rd & 5 at own 40
Brandon Walters run for 2 yds to the Army 42
10:24
4th & 3 at own 42
Zach Harding punt for 55 yds, downed at the Navy 3
Navy Punt, 6 plays
10:24
1st & 10 at own 3
Jamale Carothers run for 3 yds to the Navy 6
9:48
2nd & 7 at own 6
Malcolm Perry run for 4 yds to the Navy 10
9:12
3rd & 3 at own 10
Malcolm Perry run for 3 yds to the Navy 13 for a 1ST down
8:31
1st & 10 at own 13
Jamale Carothers run for 3 yds to the Navy 16
7:50
2nd & 7 at own 16
Timeout NAVY, clock 07:50
7:49
2nd & 7 at own 16
Jamale Carothers run for 5 yds to the Navy 21
7:08
3rd & 2 at own 21
Malcolm Perry run for 1 yd to the Navy 22
6:22
4th & 1 at own 22
Owen White punt for 36 yds , Akyah Miranda returns for 7 yds to the Army 49
Army Punt, 3 plays
6:22
1st & 10 at own 49
Kell Walker run for 2 yds to the Navy 49
5:54
2nd & 8 at opp 49
Sandon McCoy run for 2 yds to the Navy 47
5:18
3rd & 6 at opp 47
Christian Anderson run for a loss of 2 yards to the Navy 49
4:42
4th & 8 at opp 49
Zach Potter punt for 40 yds, fair catch by Garrett Winn at the Navy 9
Navy Touchdown, 12 plays
4:42
1st & 10 at own 9
Jamale Carothers run for 2 yds to the Navy 11
4:14
2nd & 8 at own 11
Jamale Carothers run for 5 yds to the Navy 16
3:36
3rd & 3 at own 16
Jamale Carothers run for 8 yds to the Navy 24 for a 1ST down
3:07
1st & 10 at own 24
Malcolm Perry run for 5 yds to the Navy 29
3:01
2nd & 5 at own 29
Keoni-Kordell Makekau run for 3 yds to the Navy 32
1:49
3rd & 2 at own 32
Timeout NAVY, clock 01:49
1:48
3rd & 2 at own 32
Malcolm Perry run for 7 yds to the Navy 39 for a 1ST down
1:32
1st & 10 at own 39
Jamale Carothers run for no gain to the Navy 39
0:51
2nd & 10 at own 39
Malcolm Perry run for 44 yds to the Army 17 for a 1ST down
0:44
1st & 10 at opp 17
Jamale Carothers run for 3 yds to the Army 14
0:32
2nd & 7 at opp 14
Malcolm Perry run for 2 yds to the Army 12
0:19
3rd & 5 at opp 12
Timeout NAVY, clock 00:19
0:18
3rd & 5 at opp 12
Malcolm Perry run for 11 yds to the Army 1 for a 1ST down
0:13
1st & 0 at opp 1
Timeout ARMY, clock 00:13
0:06
1st & goal at opp 1
Jamale Carothers 1 Yd pass from Chance Warren (Bijan Nichols Kick)Navy 14, Army 7
0:00
1st & 10 at own 35
Ben Fee kickoff for 39 yds , Ryan Parker return for a loss of 1 yard to the Army 26 Ryan Parker fumbled, recovered by Army Artice Hobbs IV , return for 1 yd to the Army 26
3rd quarter5 drives, then Navy 21, Army 7
Navy Missed FG, 7 plays
15:00
1st & 10 at own 35
Landon Salyers kickoff for 54 yds for a touchback
14:59
1st & 10 at own 25
ARMY Penalty, Defensive Offside (Edriece Patterson) to the Navy 30
14:58
1st & 5 at own 30
Jamale Carothers run for 9 yds to the Navy 39 for a 1ST down
14:26
1st & 10 at own 39
Malcolm Perry run for 11 yds to the 50 yard line for a 1ST down
14:02
1st & 10 at the 50
Malcolm Perry run for 32 yds to the Army 18 for a 1ST down
13:26
1st & 10 at opp 18
Jamale Carothers run for 4 yds to the Army 14
12:49
2nd & 6 at opp 14
Jamale Carothers run for 1 yd to the Army 13
12:07
3rd & 5 at opp 13
Jamale Carothers run for 1 yd to the Army 12
11:08
4th & 4 at opp 12
Bijan Nichols 29 yd FG BLOCKED blocked by Elijah Riley
Army Punt, 3 plays
11:08
1st & 10 at own 20
ARMY Penalty, False Start (Sandon McCoy) to the Army 15
11:07
1st & 15 at own 15
Malik Hancock run for 2 yds to the Army 17
10:42
2nd & 13 at own 17
Anderson, Christian rush for 2 yards to the ARMY19, PENALTY ARMY holding (McCoy, Sandon) 8 yards to the ARMY9, NO PLAY.
10:03
2nd & 21 at own 9
Christian Anderson run for 5 yds to the Army 14
9:26
3rd & 16 at own 14
Christian Anderson sacked by Diego Fagot for a loss of 7 yards to the Army 7
8:46
4th & 23 at own 7
Zach Harding punt for 45 yds , Garrett Winn returns for 7 yds to the Army 45
Navy Touchdown, 7 plays
8:46
1st & 10 at opp 45
Malcolm Perry run for 6 yds to the Army 39
8:14
2nd & 4 at opp 39
Jamale Carothers run for 14 yds to the Army 25 for a 1ST down
7:39
1st & 10 at opp 25
Jamale Carothers run for no gain to the Army 25
7:01
2nd & 10 at opp 25
Malcolm Perry run for 1 yd to the Army 24
6:36
3rd & 9 at opp 24
Malcolm Perry run for 18 yds to the Army 6 for a 1ST down
5:45
1st & goal at opp 6
Jamale Carothers run for 1 yd to the Army 5
4:53
2nd & goal at opp 5
Jamale Carothers 5 Yd Run (Bijan Nichols Kick)Navy 21, Army 7
Army Punt, 3 plays
4:53
2nd & 9 at own 35
Bijan Nichols kickoff for 65 yds for a touchback
4:52
1st & 10 at own 25
Christian Anderson run for no gain to the Army 25
4:21
2nd & 10 at own 25
Christian Anderson run for a loss of 6 yards to the Army 19 Christian Anderson fumbled, recovered by Army Brandon Walters
3:33
3rd & 16 at own 19
Christian Anderson pass incomplete to Brandon Walters ARMY Penalty, Offensive Holding ( Yards) declined
3:15
4th & 16 at own 19
Zach Harding punt for 41 yds, punt out-of-bounds at the Navy 40
Navy Field goal, 9 plays
3:15
1st & 10 at own 40
Malcolm Perry run for a loss of 1 yard to the Navy 39
2:41
2nd & 11 at own 39
Malcolm Perry run for 22 yds to the Army 39 for a 1ST down
2:07
1st & 10 at opp 39
Jamale Carothers run for 1 yd to the Army 38
1:24
2nd & 9 at opp 38
Malcolm Perry run for 7 yds to the Army 31
0:00
3rd & 2 at opp 31
Malcolm Perry run for 5 yds to the Army 26 for a 1ST down
Q4 15:00
1st & 10 at opp 26
Jamale Carothers run for 1 yd to the Army 25
Q4 14:28
2nd & 9 at opp 25
Jamale Carothers run for 1 yd to the Army 24
Q4 14:06
3rd & 8 at opp 24
Malcolm Perry run for 4 yds to the Army 20
Q4 12:48
4th & 4 at opp 20
Bijan Nichols 37 Yd Field GoalNavy 24, Army 7
4th quarter5 drives, then Navy 31, Army 7
Army Turnover on downs, 10 plays
12:48
4th & 4 at own 35
Bijan Nichols kickoff for 54 yds , Brandon Walters return for 19 yds to the Army 30
12:47
1st & 10 at own 30
Kell Walker run for 2 yds to the Army 32
12:19
2nd & 8 at own 32
Sandon McCoy run for 6 yds to the Army 38
11:48
3rd & 2 at own 38
Sandon McCoy run for 1 yd to the Army 39
11:06
4th & 1 at own 39
Christian Anderson run for 4 yds to the Army 43 for a 1ST down
10:42
1st & 10 at own 43
Christian Anderson run for 7 yds to the 50 yard line
10:09
2nd & 3 at the 50
Christian Anderson run for 4 yds to the Navy 46 for a 1ST down
9:47
1st & 10 at opp 46
Christian Anderson pass incomplete to Artice Hobbs IV
9:40
2nd & 10 at opp 46
Christian Anderson pass complete to Camden Harrison for 8 yds to the Navy 38
9:18
3rd & 2 at opp 38
Sandon McCoy run for a loss of 1 yard to the Navy 39
8:31
4th & 3 at opp 39
Sandon McCoy run for a loss of 1 yard to the Navy 40
Navy Fumble, recovered, 3 plays
8:31
1st & 10 at own 40
Malcolm Perry run for 2 yds to the Navy 42
7:53
2nd & 8 at own 42
Malcolm Perry run for 4 yds to the Navy 46
7:02
3rd & 4 at own 46
Jamale Carothers run for 1 yd to the Navy 47
6:13
4th & 3 at own 47
Owen White punt for 33 yds , Akyah Miranda returns for 2 yds to the Army 22 Akyah Miranda fumbled, recovered by Army Akyah Miranda
Army Fumble, 5 plays
6:13
1st & 10 at own 22
Artice Hobbs IV run for 6 yds to the Army 28
5:59
2nd & 4 at own 28
Kelvin Hopkins Jr. pass complete to Kjetil Cline for 7 yds to the Army 35 for a 1ST down
5:36
1st & 10 at own 35
Kelvin Hopkins Jr. run for 4 yds to the Army 39
5:21
2nd & 6 at own 39
Connor Slomka run for 5 yds to the Army 44
4:59
3rd & 1 at own 44
Connor Slomka run for 3 yds to the Army 47 Connor Slomka fumbled, forced by J’arius Warren, recovered by Navy J’arius Warren
Navy Touchdown, 6 plays
4:59
1st & 10 at opp 47
Malcolm Perry run for 6 yds to the Army 41
4:09
2nd & 4 at opp 41
Malcolm Perry run for 3 yds to the Army 38
3:23
3rd & 1 at opp 38
Timeout NAVY, clock 03:23
3:22
3rd & 1 at opp 38
Nelson Smith run for 3 yds to the Army 35 for a 1ST down
2:43
1st & 10 at opp 35
Malcolm Perry run for 15 yds to the Army 20 for a 1ST down
1:56
1st & 10 at opp 20
Nelson Smith run for 5 yds to the Army 15
1:49
2nd & 5 at opp 15
Timeout ARMY, clock 01:49
1:42
2nd & 5 at opp 15
Malcolm Perry 15 Yd Run (Bijan Nichols Kick)Navy 31, Army 7
Army Interception, 3 plays
1:42
2nd & 5 at own 35
Bijan Nichols kickoff for 59 yds , Brandon Walters return for 17 yds to the Army 23
1:37
1st & 10 at own 23
Kell Walker run for 6 yds to the Army 29
1:09
2nd & 4 at own 29
Sandon McCoy run for 1 yd to the Army 30
0:45
3rd & 3 at own 37
Kelvin Hopkins Jr. pass intercepted Tyler Pistorio return for 6 yds to the Navy 36 NAVY Penalty, Personal Foul (Tony Brown) to the Navy 48
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.
Officially, Navy leads 64–55–7; as played, 63–55–7 in the 125 games on file; the official count covers all 126 meetings, counting the six since this game.