From CollegeFootballData’s box score. Names lead to each player’s page. ★ a career high on file.
Team stats
Oregon State
Air Force
175
Total yards
410
106
Passing yards
139
69
Rushing yards
271
5.0
Yards per pass
23.2
2.9
Yards per rush
4.2
9
First downs
23
2–10
Third downs
8–12
1–4
Fourth downs
1–1
1
Turnovers
1
3–25
Penalties
0–0
18:04
Possession
41:56
1
Sacks (by defense)
5
Efficiency
Oregon State
Air Force
27%
Success rate
53%
−0.35
EPA per play
0.23
1.46
Explosiveness
0.90
−0.06
Rushing EPA
0.09
−0.56
Passing EPA
1.48
28%
Passing-down success
31%
−0.36
First-down EPA
−0.07
−0.18
Second-down EPA
0.26
0.13
Third-down EPA
0.67
8%
Havoc by its defense
33%
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)
Oregon State 54% to win. Air Force won as Elo’s underdog.
The line
Oregon State −3, over/under 44.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 Oregon State 57%, Air Force 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, Oregon State right to left.
Q1 Air ForceTouchdown, 11 plays, 75 yards
Q1 Oregon StatePunt, 3 plays, 1 yard
Q1 Air ForceMissed FG, 9 plays, 50 yards
Q1 Oregon StateInterception, 7 plays, 35 yards
Q2 Air ForcePunt, 3 plays, 6 yards
Q2 Oregon StatePunt, 4 plays, 21 yards
Q2 Air ForceTouchdown, 8 plays, 97 yards
Q2 Oregon StatePunt, 4 plays, 12 yards
Q2 Air ForceMissed FG, 8 plays, 46 yards
Q3 Oregon StatePunt, 3 plays, 9 yards
Q3 Air ForceFumble, 15 plays, 74 yards
Q3 Oregon StateTurnover on downs, 6 plays, 22 yards
Q3 Air ForceTouchdown, 8 plays, 34 yards
Q4 Oregon StateTurnover on downs, 9 plays, 28 yards
Q4 Air ForceTouchdown, 11 plays, 53 yards
Q4 Oregon StateTurnover on downs, 9 plays, 47 yards
Q4 Air ForceEnd of game, 1 play, −1 yard
Play by play
1st quarter4 drives, then Air Force 7, Oregon State 0
Air Force Touchdown, 11 plays
15:00
Everett Hayes kickoff for 65 yds for a touchback
14:59
1st & 5 at own 30
Dylan Carson run for 3 yds to the AFA 33
14:24
2nd & 2 at own 33
Dylan Carson run for 3 yds to the AFA 36 for a 1ST down
13:39
1st & 10 at own 36
Dylan Carson run for 3 yds to the AFA 39
13:01
2nd & 7 at own 39
Kade Frew run for 11 yds to the 50 yard line for a 1ST down
12:19
1st & 10 at the 50
Kade Frew run for a loss of 1 yard to the AFA 49
11:36
2nd & 11 at own 49
Kade Frew run for 5 yds to the ORST 46
10:51
3rd & 6 at opp 46
Kade Frew run for 2 yds to the ORST 44
10:04
4th & 4 at opp 44
Quentin Hayes pass complete to Cade Harris for 36 yds to the ORST 8 for a 1ST down
9:31
1st & goal at opp 8
Dylan Carson run for 3 yds to the ORST 5
9:01
2nd & goal at opp 5
Quentin Hayes run for 1 yd to the ORST 4
8:18
3rd & goal at opp 4
Quentin Hayes run for 4 yds for a TD (Matthew Dapore KICK)Air Force 7, Oregon State 0
Oregon State Punt, 3 plays
8:18
Reagan Tubbs kickoff for 65 yds for a touchback
8:16
1st & 10 at own 25
Anthony Hankerson run for no gain to the ORST 25
7:45
2nd & 10 at own 25
Gevani McCoy run for 1 yd to the ORST 26
7:06
3rd & 9 at own 26
Gevani McCoy pass incomplete
6:56
4th & 9 at own 26
Josh Green punt for 44 yds
Air Force Missed FG, 9 plays
6:56
1st & 10 at own 30
Dylan Carson run for 8 yds to the AFA 38
6:26
2nd & 2 at own 38
Dylan Carson run for 3 yds to the AFA 41 for a 1ST down
6:05
1st & 10 at own 41
Kade Frew run for 29 yds to the ORST 30 for a 1ST down
5:17
1st & 10 at opp 30
Cameron Breier run for 5 yds to the ORST 25
4:52
2nd & 5 at opp 25
Quentin Hayes run for 8 yds to the ORST 17 for a 1ST down
4:15
1st & 10 at opp 17
Quentin Hayes run for no gain to the ORST 17
3:37
2nd & 10 at opp 17
Dylan Carson run for 1 yd to the ORST 16
2:56
3rd & 9 at opp 16
Timeout Air Force, clock 02:56
2:50
3rd & 9 at opp 16
Cade Harris run for a loss of 4 yards to the ORST 20
2:11
4th & 13 at opp 20
Matthew Dapore 38 Yard Field Goal Missed
Oregon State Interception, 7 plays
2:02
1st & 10 at own 20
Anthony Hankerson run for 1 yd to the ORST 21
1:37
2nd & 9 at own 21
Gabarri Johnson run for 16 yds to the ORST 37 for a 1ST down
1:01
1st & 10 at own 37
Gabarri Johnson run for 4 yds to the ORST 41
0:27
2nd & 6 at own 41
Gabarri Johnson run for 1 yd to the ORST 42
Q2 14:58
3rd & 5 at own 42
Gabarri Johnson pass complete to Trent Walker for 12 yds to the AFA 46 for a 1ST down
Q2 14:21
1st & 10 at opp 46
Gabarri Johnson run for 1 yd to the AFA 45
Q2 13:46
2nd & 9 at opp 45
Gabarri Johnson pass intercepted Camby Goff return for no gain to the AFA 34
Q2 13:42
1st & 10 at own 34
Timeout Air Force, clock 13:42
2nd quarter5 drives, then Air Force 14, Oregon State 0
Air Force Punt, 3 plays
13:40
1st & 10 at own 34
Kade Frew run for a loss of 6 yards to the AFA 28
13:05
2nd & 16 at own 28
Dylan Carson run for 2 yds to the AFA 30
12:27
3rd & 14 at own 30
Quentin Hayes run for 10 yds to the AFA 40
11:55
4th & 4 at own 40
Luke Freer punt for 52 yds, fair catch by Trent Walker at the ORST 8
11:49
1st & 10 at own 8
Timeout Air Force, clock 11:49
Oregon State Punt, 4 plays
11:48
1st & 10 at own 8
Gevani McCoy run for 18 yds to the ORST 26 for a 1ST down
11:12
1st & 10 at own 26
Salahadin Allah run for 4 yds to the ORST 30
10:32
2nd & 6 at own 30
Gevani McCoy sacked by Grant Uyl and David Santiago for a loss of 1 yard to the ORST 29
9:49
3rd & 7 at own 29
Gevani McCoy pass incomplete
9:40
4th & 7 at own 29
Josh Green punt for 68 yds, downed at the AFA 3
Air Force Touchdown, 8 plays
9:30
1st & 10 at own 3
Dylan Carson run for 3 yds to the AFA 6
8:53
2nd & 7 at own 6
Kade Frew run for 3 yds to the AFA 9
8:10
3rd & 4 at own 9
Timeout Air Force, clock 08:10
8:08
3rd & 4 at own 9
Quentin Hayes pass complete to Jared Roznos for 25 yds to the AFA 34 for a 1ST down
7:34
1st & 10 at own 34
Brandon Engel pass complete to Quentin Hayes for 29 yds to the ORST 37 for a 1ST down
6:43
1st & 10 at opp 37
Quentin Hayes run for 1 yd to the ORST 36
6:06
2nd & 9 at opp 36
Quentin Hayes pass complete to Cade Harris for 32 yds to the ORST 4 for a 1ST down
5:29
1st & goal at opp 4
Dylan Carson run for 3 yds to the ORST 1
4:45
2nd & goal at opp 1
Quentin Hayes run for 1 yd for a TD (Matthew Dapore KICK)Air Force 14, Oregon State 0
Oregon State Punt, 4 plays
4:44
Reagan Tubbs kickoff for 65 yds for a touchback
4:41
1st & 10 at own 25
Anthony Hankerson run for 12 yds to the ORST 37 for a 1ST down
4:17
1st & 10 at own 37
Gabarri Johnson sacked by Osaro Aihie for a loss of 9 yards to the ORST 28
3:36
2nd & 19 at own 28
Gabarri Johnson pass complete to Jermaine Terry II for 9 yds to the ORST 37
2:56
3rd & 10 at own 37
Gabarri Johnson pass incomplete
2:47
4th & 10 at own 37
Josh Green punt for 63 yds for a touchback
Air Force Missed FG, 8 plays
2:43
1st & 10 at own 20
Quentin Hayes run for 28 yds to the AFA 48 for a 1ST down
2:00
1st & 10 at own 48
Timeout Air Force, clock 02:00
1:57
1st & 10 at own 48
Dylan Carson run for 4 yds to the ORST 48
1:26
2nd & 6 at opp 48
Dylan Carson run for 5 yds to the ORST 43
1:09
3rd & 1 at opp 43
Quentin Hayes run for 3 yds to the ORST 40 for a 1ST down
0:51
1st & 10 at opp 40
Quentin Hayes sacked by Nikko Taylor and Zakaih Saez for a loss of 4 yards to the ORST 44
0:47
2nd & 14 at opp 44
Timeout Air Force, clock 00:47
0:46
2nd & 14 at opp 44
Quentin Hayes run for 2 yds to the ORST 42
0:20
3rd & 12 at opp 42
Dylan Carson run for 8 yds to the ORST 34
0:00
4th & 4 at opp 34
Matthew Dapore 52 yd FG BLOCKED blocked by
3rd quarter4 drives, then Air Force 14, Oregon State 0
Oregon State Punt, 3 plays
15:00
Reagan Tubbs kickoff for 65 yds for a touchback
14:59
1st & 10 at own 25
Gabarri Johnson run for 8 yds to the ORST 33
14:20
2nd & 2 at own 33
Anthony Hankerson run for a loss of 2 yards to the ORST 31
13:49
3rd & 4 at own 31
Gabarri Johnson run for 3 yds to the ORST 34
13:09
4th & 1 at own 34
Josh Green punt for 52 yds, fair catch by Brandon Engel at the AFA 14
Air Force Fumble, 15 plays
13:03
1st & 10 at own 14
Kade Frew run for a loss of 2 yards to the AFA 12
12:28
2nd & 12 at own 12
Dylan Carson run for 5 yds to the AFA 17
11:55
3rd & 7 at own 17
(11:55) HAYES, Quentin pass deep to the right incomplete intended for SMITH, Quin thrown to the OSU40, clock 11:50. PENALTY OSU Pass Interference on IVY JR., Tyrice enforced 15 yards to the AF32 and results in automatic 1ST DOWN. NO PLAY (replay the down).
11:48
1st & 10 at own 32
Dylan Carson run for 5 yds to the AFA 37
11:14
2nd & 5 at own 37
Dylan Carson run for 4 yds to the AFA 41
10:54
3rd & 1 at own 41
Quentin Hayes run for 4 yds to the AFA 45 for a 1ST down
10:15
1st & 10 at own 45
Dylan Carson run for 2 yds to the AFA 47
9:43
2nd & 8 at own 47
Quentin Hayes pass complete to Kade Frew for 10 yds to the ORST 43 for a 1ST down
9:07
1st & 10 at opp 43
Dylan Carson run for 6 yds to the ORST 37
8:25
2nd & 4 at opp 37
Owen Allen run for 3 yds to the ORST 34
7:45
3rd & 1 at opp 34
Quentin Hayes run for 2 yds to the ORST 32 for a 1ST down
6:56
1st & 10 at opp 32
Dylan Carson run for 4 yds to the ORST 28
6:17
2nd & 6 at opp 28
Quentin Hayes run for 5 yds to the ORST 23
5:42
3rd & 1 at opp 23
Quentin Hayes run for 3 yds to the ORST 20 for a 1ST down
5:07
1st & 10 at opp 20
Dylan Carson run for 4 yds to the ORST 16
4:30
2nd & 6 at opp 16
Quentin Hayes run for 4 yds to the ORST 12 Quentin Hayes fumbled, recovered by ORST Skyler Thomas S. Thomas return for 0 yds
Oregon State Turnover on downs, 6 plays
4:23
1st & 10 at own 12
Gabarri Johnson pass incomplete
4:18
2nd & 10 at own 12
Gabarri Johnson pass complete to Taz Reddicks for 15 yds to the ORST 27 for a 1ST down
3:50
1st & 10 at own 27
Gabarri Johnson pass incomplete
3:45
2nd & 10 at own 27
Gabarri Johnson pass complete to Trent Walker for 6 yds to the ORST 33
3:18
3rd & 4 at own 33
Anthony Hankerson run for 2 yds to the ORST 35
2:51
4th & 2 at own 35
Gabarri Johnson sacked by Grant Uyl for a loss of 1 yard to the ORST 34
Air Force Touchdown, 8 plays
2:44
1st & 10 at opp 34
Dylan Carson run for 4 yds to the ORST 30
2:07
2nd & 6 at opp 30
Dylan Carson run for no gain to the ORST 30
1:29
3rd & 6 at opp 30
Quentin Hayes pass complete to Bruin Fleischmann for 7 yds to the ORST 23 for a 1ST down
0:52
1st & 10 at opp 23
Oregon State Penalty, Offsides (Andy Alfieri) to the ORST 18
0:32
1st & 5 at opp 18
Kade Frew run for 1 yd to the ORST 17
Q4 14:59
2nd & 4 at opp 17
Dylan Carson run for 4 yds to the ORST 13 for a 1ST down
Q4 14:23
1st & 10 at opp 13
Kade Frew run for 5 yds to the ORST 8
Q4 13:42
2nd & 5 at opp 8
Dylan Carson run for 7 yds to the ORST 1 for a 1ST down
Q4 12:58
1st & goal at opp 1
Dylan Carson run for 1 yd for a TD (Matthew Dapore KICK)Air Force 21, Oregon State 0
4th quarter4 drives, then Air Force 28, Oregon State 0
Oregon State Turnover on downs, 9 plays
12:58
Timeout Air Force, clock 12:58
12:58
Reagan Tubbs kickoff for 57 yds
12:57
1st & 10 at own 25
Salahadin Allah run for 6 yds to the ORST 31
12:28
2nd & 4 at own 31
Gabarri Johnson pass incomplete
12:21
3rd & 4 at own 31
Gabarri Johnson pass incomplete
12:16
4th & 4 at own 31
Gabarri Johnson run for 12 yds to the ORST 43 for a 1ST down
11:42
1st & 10 at own 43
Gabarri Johnson pass complete to Trent Walker for 18 yds to the AFA 39 for a 1ST down
11:11
1st & 10 at opp 39
Gabarri Johnson pass incomplete
11:06
2nd & 10 at opp 39
Gabarri Johnson pass incomplete
11:01
3rd & 10 at opp 39
Gabarri Johnson run for a loss of 1 yard to the AFA 40
10:26
4th & 11 at opp 40
Gabarri Johnson sacked by David Santiago for a loss of 7 yards to the AFA 47
10:23
1st & 10 at own 47
Timeout Air Force, clock 10:23
Air Force Touchdown, 11 plays
10:22
1st & 10 at own 47
Dylan Carson run for 2 yds to the AFA 49
9:42
2nd & 8 at own 49
Quentin Hayes run for 12 yds to the ORST 39 for a 1ST down
8:43
1st & 10 at opp 39
Owen Allen run for 4 yds to the ORST 35
8:00
2nd & 6 at opp 35
Owen Allen run for 6 yds to the ORST 29 for a 1ST down
7:18
1st & 10 at opp 29
Owen Allen run for 3 yds to the ORST 26
6:34
2nd & 7 at opp 26
Owen Allen run for 4 yds to the ORST 22
5:49
3rd & 3 at opp 22
Owen Allen run for 6 yds to the ORST 16 for a 1ST down
5:11
1st & 10 at opp 16
Owen Allen run for 6 yds to the ORST 10
4:28
2nd & 4 at opp 10
Owen Allen run for 7 yds to the ORST 3 for a 1ST down
3:46
1st & goal at opp 3
Owen Allen run for 1 yd to the ORST 2
3:05
2nd & goal at opp 2
Owen Allen run for 2 yds for a TD (Matthew Dapore KICK)Air Force 28, Oregon State 0
Oregon State Turnover on downs, 9 plays
3:05
Timeout Air Force, clock 03:05
3:05
Reagan Tubbs kickoff for 60 yds
3:00
1st & 10 at own 25
Gabarri Johnson pass incomplete
2:58
2nd & 10 at own 25
Gabarri Johnson pass complete to Jeremiah Noga for 26 yds to the AFA 49 for a 1ST down
2:37
1st & 10 at opp 49
Gabarri Johnson pass incomplete
2:34
2nd & 10 at opp 49
Gabarri Johnson pass complete to Jermaine Terry II for 9 yds to the AFA 40
2:12
3rd & 1 at opp 40
Anthony Hankerson run for 6 yds to the AFA 34 for a 1ST down
2:00
1st & 10 at opp 34
Timeout Air Force, clock 02:00
1:59
1st & 10 at opp 34
Gabarri Johnson sacked by Jaylin Reese for a loss of 9 yards to the AFA 43
1:29
2nd & 19 at opp 43
Gabarri Johnson pass complete to Anthony Hankerson for 2 yds to the AFA 41
1:00
3rd & 17 at opp 41
Gabarri Johnson pass complete to Jake Reichle for 9 yds to the AFA 32
0:22
4th & 8 at opp 32
Gabarri Johnson run for 4 yds to the AFA 28
Air Force End of game, 1 play
0:11
1st & 10 at own 28
(00:11) Kneel down by TEAM at AF27 (team loss of 1), clock 00:00.
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.