63°F, overcast, mist, wind 8 mph from the southeastWeather: NOAA NCEI Integrated Surface Database; Fort Worth Naval Air Station Jrb/Carswell Field (KNFW), 10 km from the stadium, 22 minutes after kickoff
From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
James Madison
Air Force
283
Total yards
396
257
Passing yards
45
26
Rushing yards
351
7.8
Yards per pass
9.0
1.4
Yards per rush
5.6
16
First downs
18
4–11
Third downs
8–15
1–1
Fourth downs
2–3
1
Turnovers
0
3–10
Penalties
0–0
23:09
Possession
36:51
0
Sacks (by defense)
4
Efficiency
James Madison
Air Force
44%
Success rate
43%
0.18
EPA per play
0.25
1.41
Explosiveness
1.26
−0.19
Rushing EPA
0.24
0.35
Passing EPA
0.34
41%
Passing-down success
17%
0.28
First-down EPA
−0.11
−0.23
Second-down EPA
0.39
0.17
Third-down EPA
0.76
7%
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)
James Madison 70% to win. Air Force won as Elo’s underdog.
The line
Air Force −2.5, over/under 43.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 57%, James Madison 43%. 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, James Madison right to left.
Q1 James MadisonPunt, 4 plays, 19 yards
Q1 Air ForceTouchdown, 8 plays, 86 yards
Q1 James MadisonTouchdown, 7 plays, 75 yards
Q1 Air ForcePunt, 7 plays, 10 yards
Q1 James MadisonInterception, 8 plays, 56 yards
Q2 Air ForceTouchdown, 7 plays, 72 yards
Q2 James MadisonPunt, 6 plays, 14 yards
Q2 Air ForcePunt, 3 plays, 1 yard
Q2 James MadisonPunt, 3 plays, −2 yards
Q2 Air ForcePunt, 3 plays, 6 yards
Q2 James MadisonPunt, 3 plays, −4 yards
Q2 Air ForceTouchdown, 2 plays, 46 yards
Q2 James MadisonEnd of half, 1 play, −2 yards
Q3 Air ForceTurnover on downs, 7 plays, 26 yards
Q3 James MadisonTouchdown, 5 plays, 51 yards
Q3 Air ForceTouchdown, 9 plays, 75 yards
Q3 James MadisonPunt, 3 plays, −4 yards
Q3 Air ForceField goal, 17 plays, 49 yards
Q4 James MadisonTouchdown, 12 plays, 70 yards
Q4 Air ForceEnd of game, 6 plays, 25 yards
Play by play
1st quarter5 drives, then Tied at 7
James Madison Punt, 4 plays
14:54
1st & 10 at own 35
Reagan Tubbs kickoff for 62 yds , DJ Barksdale return for 22 yds to the JMU 25
14:30
1st & 10 at own 25
Jordan McCloud pass complete to Elijah Sarratt for 10 yds to the JMU 35 for a 1ST down
14:00
1st & 10 at own 35
Jordan McCloud pass complete to Elijah Sarratt for 8 yds to the JMU 43
13:30
2nd & 2 at own 43
Kaelon Black run for 1 yd to the JMU 44
13:00
3rd & 1 at own 44
Kaelon Black run for no gain to the JMU 44
12:41
4th & 1 at own 44
Ryan Hanson punt for 42 yds, fair catch by Dane Kinamon at the AFA 14
Air Force Touchdown, 8 plays
12:25
1st & 10 at own 14
Emmanuel Michel run for 54 yds to the JMU 32 for a 1ST down
11:50
1st & 10 at opp 32
Emmanuel Michel run for 6 yds to the JMU 26
11:10
2nd & 4 at opp 26
Emmanuel Michel run for 4 yds to the JMU 22 for a 1ST down
10:35
1st & 10 at opp 22
Dylan Carson run for 9 yds to the JMU 13
10:10
2nd & 1 at opp 13
Dylan Carson run for 5 yds to the JMU 8 for a 1ST down
9:23
1st & goal at opp 8
Zac Larrier run for 6 yds to the JMU 2
8:40
2nd & goal at opp 2
Emmanuel Michel run for 1 yd to the JMU 1
8:11
3rd & goal at opp 1
Emmanuel Michel run for 1 yd for a TD (Matthew Dapore KICK)Air Force 7, James Madison 0
James Madison Touchdown, 7 plays
8:11
3rd & 3 at own 35
Reagan Tubbs kickoff for 65 yds for a touchback
8:00
1st & 10 at own 25
Kaelon Black run for a loss of 1 yard to the JMU 24
7:20
2nd & 11 at own 24
Jordan McCloud pass complete to Phoenix Sproles for 10 yds to the JMU 34
6:50
3rd & 1 at own 34
Jordan McCloud pass complete to Elijah Sarratt for 7 yds to the JMU 41 for a 1ST down
6:15
1st & 10 at own 41
Jordan McCloud pass complete to Elijah Sarratt for 27 yds to the AFA 32 for a 1ST down
5:44
1st & 10 at opp 32
Jordan McCloud pass incomplete
5:35
2nd & 10 at opp 32
Kaelon Black run for 14 yds to the AFA 18 for a 1ST down
5:00
1st & 10 at opp 18
Jordan McCloud pass complete to Phoenix Sproles for 18 yds for a TD (Camden Wise KICK)Tied at 7
Air Force Punt, 7 plays
5:00
1st & 10 at own 35
Connor Madden kickoff for 65 yds for a touchback
4:50
1st & 10 at own 25
Owen Burk run for 3 yds to the AFA 28
4:10
2nd & 7 at own 28
Owen Burk run for 5 yds to the AFA 33
3:30
3rd & 2 at own 33
Emmanuel Michel run for 1 yd to the AFA 34
3:10
4th & 1 at own 34
Emmanuel Michel run for 3 yds to the AFA 37 for a 1ST down
2:30
1st & 10 at own 37
Zac Larrier run for 3 yds to the AFA 40
1:40
2nd & 7 at own 40
John Lee Eldridge III run for a loss of 5 yards to the AFA 35
1:16
3rd & 12 at own 35
Zac Larrier pass incomplete
1:03
4th & 12 at own 35
Luke Freer punt for 45 yds, downed at the JMU 20
James Madison Interception, 8 plays
0:50
1st & 10 at own 20
Latrele Palmer run for 12 yds to the JMU 32 for a 1ST down
0:20
1st & 10 at own 32
Jordan McCloud pass complete to Zach Horton for 9 yds to the JMU 41
0:10
2nd & 1 at own 41
Jordan McCloud pass complete to Phoenix Sproles for 4 yds to the JMU 45 for a 1ST down
Q2 14:30
1st & 10 at own 45
Jordan McCloud pass complete to Elijah Sarratt for 17 yds to the AFA 38 for a 1ST down
Q2 14:10
1st & 10 at opp 38
Jordan McCloud pass complete to Phoenix Sproles for 16 yds to the AFA 22 for a 1ST down
Q2 13:40
1st & 10 at opp 22
James Madison Penalty, False Start (-5 Yards) to the AFA 27
Q2 13:00
1st & 15 at opp 27
Kaelon Black run for 5 yds to the AFA 22
Q2 12:34
2nd & 10 at opp 22
Kaelon Black run for a loss of 2 yards to the AFA 24
Q2 11:57
3rd & 12 at opp 24
Jordan McCloud pass intercepted Johnathan Youngblood return for no gain to the AFA 28
2nd quarter8 drives, then Air Force 21, James Madison 7
Air Force Touchdown, 7 plays
11:50
1st & 10 at own 28
Emmanuel Michel run for 3 yds to the AFA 31
11:15
2nd & 7 at own 31
Aiden Calvert run for 7 yds to the AFA 38 for a 1ST down
10:37
1st & 10 at own 38
Emmanuel Michel run for 3 yds to the AFA 41
10:00
2nd & 7 at own 41
Emmanuel Michel run for 3 yds to the AFA 44
9:00
3rd & 4 at own 44
John Lee Eldridge III run for 51 yds to the JMU 5 for a 1ST down
8:20
1st & goal at opp 5
Emmanuel Michel run for 4 yds to the JMU 1
7:51
2nd & goal at opp 1
Emmanuel Michel run for 1 yd for a TD (Matthew Dapore KICK)Air Force 14, James Madison 7
James Madison Punt, 6 plays
7:46
2nd & 6 at own 35
Reagan Tubbs kickoff for 61 yds , DJ Barksdale return for 19 yds to the JMU 23
7:40
1st & 10 at own 23
Latrele Palmer run for 6 yds to the JMU 29
7:03
2nd & 4 at own 29
Jordan McCloud sacked by Bo Richter for a loss of 9 yards to the JMU 20 James Madison Penalty, Intentional Grounding (Yards) to the JMU 20
6:53
3rd & 13 at own 20
Jordan McCloud pass complete to Reggie Brown for 17 yds to the JMU 37 for a 1ST down
6:25
1st & 10 at own 37
Jordan McCloud pass incomplete
6:17
2nd & 10 at own 37
Jordan McCloud pass incomplete
6:13
3rd & 10 at own 37
Jordan McCloud pass incomplete
6:06
4th & 10 at own 37
Ryan Hanson punt for 38 yds, fair catch by Dane Kinamon at the AFA 25
Air Force Punt, 3 plays
6:00
1st & 10 at own 25
John Lee Eldridge III run for a loss of 5 yards to the AFA 20
5:25
2nd & 15 at own 20
Dane Kinamon run for a loss of 1 yard to the AFA 19
4:40
3rd & 16 at own 19
Zac Larrier run for 7 yds to the AFA 26
4:12
4th & 9 at own 26
Luke Freer punt for 44 yds, fair catch by Josh Sarratt at the JMU 30
James Madison Punt, 3 plays
4:05
1st & 10 at own 30
Jordan McCloud pass complete to Kaelon Black for 6 yds to the JMU 36
3:37
2nd & 4 at own 36
Jordan McCloud pass incomplete
3:00
3rd & 4 at own 36
Jordan McCloud sacked by Bo Richter for a loss of 8 yards to the JMU 28 Jordan McCloud fumbled, forced by Bo Richter, recovered by JMU Jordan McCloud , return for 0 yards
2:45
4th & 12 at own 28
Ryan Hanson punt for 47 yds, fair catch by Dane Kinamon at the AFA 25
Air Force Punt, 3 plays
2:15
1st & 10 at own 25
Emmanuel Michel run for 3 yds to the AFA 28
2:00
2nd & 7 at own 28
Emmanuel Michel run for 1 yd to the AFA 29
1:59
3rd & 6 at own 29
Timeout James Madison, clock 01:59
1:53
3rd & 6 at own 29
Zac Larrier run for 2 yds to the AFA 31
1:53
4th & 4 at own 31
Timeout James Madison, clock 01:53
1:42
4th & 4 at own 31
Luke Freer punt for 53 yds, downed at the JMU 16
James Madison Punt, 3 plays
1:30
1st & 10 at own 16
Jordan McCloud pass complete to Kaelon Black for a loss of 1 yard to the JMU 15
0:51
2nd & 11 at own 15
Jordan McCloud pass incomplete
0:47
3rd & 11 at own 15
Kaelon Black run for a loss of 3 yards to the JMU 12
0:38
4th & 14 at own 12
Ryan Hanson punt for 34 yds, downed at the JMU 46
Air Force Touchdown, 2 plays
0:33
1st & 10 at opp 46
Zac Larrier run for 4 yds to the JMU 42
0:33
2nd & 6 at opp 42
Timeout Air Force, clock 00:33
0:27
2nd & 6 at opp 42
Zac Larrier pass complete to Jared Roznos for 42 yds for a TD (Matthew Dapore KICK)Air Force 21, James Madison 7
James Madison End of half, 1 play
0:18
2nd & 6 at own 35
Reagan Tubbs kickoff for 61 yds , DJ Barksdale return for 18 yds to the JMU 22
0:05
1st & 10 at own 22
TEAM run for a loss of 2 yards to the JMU 20
3rd quarter5 drives, then Air Force 28, James Madison 14
Air Force Turnover on downs, 7 plays
15:00
1st & 10 at own 35
Connor Madden kickoff for 63 yds for a touchback
14:55
1st & 10 at own 25
Emmanuel Michel run for 3 yds to the AFA 28
14:10
2nd & 7 at own 28
Emmanuel Michel run for 5 yds to the AFA 33
13:40
3rd & 2 at own 33
Emmanuel Michel run for 9 yds to the AFA 42 for a 1ST down
13:05
1st & 10 at own 42
Emmanuel Michel run for 4 yds to the AFA 46
12:30
2nd & 6 at own 46
Emmanuel Michel run for 2 yds to the AFA 48
11:50
3rd & 4 at own 48
Emmanuel Michel run for 3 yds to the JMU 49
11:07
4th & 1 at opp 49
Emmanuel Michel run for no gain to the JMU 49
James Madison Touchdown, 5 plays
10:59
1st & 10 at own 49
Jordan McCloud pass complete to Elijah Sarratt for 17 yds to the AFA 34 for a 1ST down
10:20
1st & 10 at opp 34
Jordan McCloud pass complete to Reggie Brown for 27 yds to the AFA 7 for a 1ST down
9:45
1st & goal at opp 7
Latrele Palmer run for 2 yds to the AFA 5
9:16
2nd & goal at opp 5
Jordan McCloud pass incomplete
9:11
3rd & goal at opp 5
Jordan McCloud pass complete to Kaelon Black for 5 yds for a TD (Camden Wise KICK)Air Force 21, James Madison 14
Air Force Touchdown, 9 plays
9:11
3rd & 8 at own 35
Connor Madden kickoff for 65 yds for a touchback
9:05
1st & 10 at own 25
Zac Larrier pass complete to John Lee Eldridge III for a loss of 3 yards to the AFA 22
8:26
2nd & 13 at own 22
John Lee Eldridge III run for 17 yds to the AFA 39 for a 1ST down
7:59
1st & 10 at own 39
Aiden Calvert run for 10 yds to the AFA 49 for a 1ST down
7:16
1st & 10 at own 49
Emmanuel Michel run for no gain to the AFA 49
6:41
2nd & 10 at own 49
Zac Larrier pass complete to Caleb Rillos for 6 yds to the JMU 45
6:07
3rd & 4 at opp 45
John Lee Eldridge III run for 8 yds to the JMU 37 for a 1ST down
5:30
1st & 10 at opp 37
Emmanuel Michel run for 5 yds to the JMU 32
4:45
2nd & 5 at opp 32
Emmanuel Michel run for 31 yds to the JMU 1 for a 1ST down
4:07
1st & goal at opp 1
Zac Larrier run for 1 yd for a TD (Matthew Dapore KICK)Air Force 28, James Madison 14
James Madison Punt, 3 plays
4:02
1st & 10 at own 35
Reagan Tubbs kickoff for 60 yds , DJ Barksdale return for 19 yds to the JMU 24
3:55
1st & 10 at own 24
Jordan McCloud pass incomplete
3:43
2nd & 10 at own 24
Jordan McCloud sacked by Payton Zdroik for a loss of 4 yards to the JMU 20
3:11
3rd & 14 at own 20
Jordan McCloud pass incomplete
3:05
4th & 14 at own 20
Ryan Hanson punt for 38 yds, fair catch by Dane Kinamon at the AFA 42
Air Force Field goal, 17 plays
3:00
1st & 10 at own 42
Emmanuel Michel run for 2 yds to the AFA 44
2:15
2nd & 8 at own 44
John Lee Eldridge III run for 4 yds to the AFA 48
1:37
3rd & 4 at own 48
Zac Larrier run for 3 yds to the JMU 49
1:00
4th & 1 at opp 49
Zac Larrier run for 1 yd to the JMU 48 for a 1ST down
0:46
1st & 10 at opp 48
Zac Larrier pass incomplete
0:35
2nd & 10 at opp 48
John Lee Eldridge III run for 6 yds to the JMU 42
Q4 14:50
3rd & 4 at opp 42
Emmanuel Michel run for 6 yds to the JMU 36 for a 1ST down
Q4 14:10
1st & 10 at opp 36
Emmanuel Michel run for 5 yds to the JMU 31
Q4 13:30
2nd & 5 at opp 31
Emmanuel Michel run for 1 yd to the JMU 30
Q4 12:55
3rd & 4 at opp 30
Dane Kinamon run for 5 yds to the JMU 25 for a 1ST down
Q4 12:20
1st & 10 at opp 25
Emmanuel Michel run for 2 yds to the JMU 23
Q4 11:40
2nd & 8 at opp 23
John Lee Eldridge III run for 2 yds to the JMU 21
Q4 11:05
3rd & 6 at opp 21
Emmanuel Michel run for 7 yds to the JMU 14 for a 1ST down
Q4 10:20
1st & 10 at opp 14
Emmanuel Michel run for 1 yd to the JMU 13
Q4 9:35
2nd & 9 at opp 13
Dane Kinamon run for 5 yds to the JMU 8
Q4 9:00
3rd & 4 at opp 8
Zac Larrier run for a loss of 1 yard to the JMU 9
Q4 8:20
4th & 5 at opp 9
Matthew Dapore 26 yd FG GOODAir Force 31, James Madison 14
4th quarter2 drives, then Air Force 31, James Madison 21
James Madison Touchdown, 12 plays
8:15
4th & 5 at own 35
Reagan Tubbs kickoff for 54 yds , Que Reid return for 19 yds to the JMU 30
8:05
1st & 10 at own 30
Kaelon Black run for 15 yds to the JMU 45 for a 1ST down
7:35
1st & 10 at own 45
Kaelon Black run for a loss of 1 yard to the JMU 44
6:55
2nd & 11 at own 44
Jordan McCloud pass complete to Elijah Sarratt for 12 yds to the AFA 44 for a 1ST down
6:30
1st & 10 at opp 44
Kaelon Black run for 4 yds to the AFA 40
5:55
2nd & 6 at opp 40
Jordan McCloud sacked by Bo Richter for a loss of 14 yards to the JMU 46
5:20
3rd & 20 at own 46
Kaelon Black run for 11 yds to the AFA 43
5:07
4th & 9 at opp 43
James Madison Penalty, False Start (-5 Yards) to the AFA 48
4:54
4th & 14 at opp 48
Timeout James Madison, clock 04:54
4:40
4th & 14 at opp 48
Jordan McCloud pass complete to Kaelon Black for 24 yds to the AFA 24 for a 1ST down
4:09
1st & 10 at opp 24
Jordan McCloud pass incomplete
4:03
2nd & 10 at opp 24
Jordan McCloud pass incomplete
3:56
3rd & 10 at opp 24
Jordan McCloud pass complete to Elijah Sarratt for 17 yds to the AFA 7 for a 1ST down
3:14
1st & goal at opp 7
Jordan McCloud pass incomplete
3:10
2nd & goal at opp 7
Jordan McCloud pass complete to Phoenix Sproles for 7 yds for a TD (Camden Wise KICK)Air Force 31, James Madison 21
Air Force End of game, 6 plays
3:09
2nd & 10 at own 35
Ryan Hanson on-side kick recovered by Air Force at the AFA 48
3:04
1st & 10 at own 48
Emmanuel Michel run for 3 yds to the JMU 49
2:22
2nd & 7 at opp 49
Timeout Air Force, clock 02:22
2:15
2nd & 7 at opp 49
Emmanuel Michel run for 13 yds to the JMU 36 for a 1ST down
2:08
1st & 10 at opp 36
Timeout James Madison, clock 02:08
2:05
1st & 10 at opp 36
TEAM run for a loss of 2 yards to the JMU 38
2:05
2nd & 12 at opp 38
Timeout James Madison, clock 02:05
2:00
2nd & 12 at opp 38
Emmanuel Michel run for 8 yds to the JMU 30
1:20
3rd & 4 at opp 30
Emmanuel Michel run for 5 yds to the JMU 25 for a 1ST down
0:40
1st & 10 at opp 25
TEAM run for a loss of 2 yards to the JMU 27
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.