House Prediction
Model Margin
Air Force by 1.5
Home Win Probability
Colorado State 45%
Market (Bovada)
Colorado State +2.5
fitted_v1 · Nov 28, 2025
Line Movement
No line movement to chart
Sportsbook snapshots publish once a line is posted for this game.
Air Force Dominates Colorado State 42-21 in Week 14
Air Force defeated Colorado State 42-21 on Saturday in Week 14, with the Falcons controlling the game from start to finish. Air Force scored 14 points in the first quarter alone and never relinquished the lead, building a commanding advantage that Colorado State could not overcome.
Kemper Hodges led Air Force's ground game with 87 rushing yards, while quarterback J. Johnson orchestrated the efficient offense. The Falcons' defense made critical plays throughout, including a pivotal 6.44 EPA play in the first quarter that set the tone early.
Colorado State's Jackson Brousseau completed 323 passing yards, the game's passing leader, and Jordan McIntyre caught 8 passes. The Rams scored touchdowns in the second and fourth quarters but couldn't generate enough sustained offense to challenge Air Force's lead.
Air Force covered the 2.5-point spread as the away team, while the game went over the 47.5-point total. The contest featured 16 lead changes and tight win probability swings, though the final margin never reflected the competitive nature of individual possessions.
AI-generated recap · Jul 23, 2026
| Team | 1Q | 2Q | 3Q | 4Q | Final |
|---|---|---|---|---|---|
| 14 | 7 | 7 | 14 | 42 | |
| 0 | 7 | 7 | 7 | 21 |
Scoring Timeline
Drive Chart
Box Score
| Statistic | Air Force | Colorado State |
|---|---|---|
| Passing | 4-4 | 28-37 |
| Pass Yards | 104 | 323 |
| Rush Yards | 316 | 12 |
| Total Yards | 420 | 335 |
| Turnovers | 0 | 0 |
| 3rd Down | 11-15 | 2-8 |
| Penalties | 0-0 | 2-11 |
| Possession | 40:47 | 19:13 |
Player Leaders
Player Leaders
Play-by-Play
(15:00) No Huddle-Shotgun #11 J.Johnson rush right for 3 yards gain to the AFA28 (#12 J.Bellah)
(14:25) No Huddle #5 D.Carson rush middle for 3 yards gain to the AFA31 (#44 J.Ellis; #55 A.Laurich)
(13:42) Shotgun #8 K.Frew rush right for 5 yards gain to the AFA36 (#13 J.Jarmolowich) PENALTY AFA Personal Foul offsetting CSU Personal Foul offsetting. NO PLAY
(13:20) Shotgun #11 J.Johnson rush right for 2 yards gain to the AFA33 (#11 J.Naborne)
(12:46) #12 T.Gist rush middle for 5 yards gain to the AFA38 (#11 J.Naborne; #40 O.Long), 1ST DOWN
(12:00) #5 D.Carson rush left for 4 yards gain to the AFA42 (#23 J.Mitchell; #7 L.Joe)
(11:25) #11 J.Johnson rush right for 2 yards gain to the AFA44 (#7 L.Joe)
(10:38) Shotgun #11 J.Johnson rush middle for 1 yard gain to the AFA45 (#40 O.Long; #56 K.Agurs)
(09:59) #11 J.Johnson pass complete short right to #88 B.Fleischmann caught at CSU49, for 55 yards to the CSU00 TOUCHDOWN, clock 09:50, 1ST DOWN #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(09:50) Shotgun #25 L.Avant rush left for 1 yard gain to the CSU26 (#15 J.Adams; #5 R.Jones)
(09:24) No Huddle-Shotgun #7 J.Brousseau sacked for loss of 6 yards to the CSU20 (#15 J.Adams)
(08:48) No Huddle-Shotgun #7 J.Brousseau pass incomplete short right to #25 L.Avant thrown to CSU13 broken up by #15 J.Adams
(08:44) #83 B.Hansen punt 48 yards to the AFA32
(08:33) #2 O.Allen rush right for 4 yards gain to the AFA36 (#11 J.Naborne)
(07:55) #11 J.Johnson pass complete short right to #18 Q.Smith caught at AFA46, for 16 yards to the CSU48 (#4 J.Rogers), 1ST DOWN
(07:16) #2 O.Allen rush middle for 9 yards gain to the CSU39 (#11 J.Naborne; #13 J.Jarmolowich)
(06:35) #2 O.Allen rush right for 6 yards gain to the CSU33 (#91 M.Tuitele), 1ST DOWN
(05:49) #2 O.Allen rush left for 3 yards gain to the CSU30 (#45 R.Edmonson)
(05:05) #2 O.Allen rush right for 3 yards gain to the CSU27 (#47 D.Rodriguez; #29 J.Vincent)
(04:26) #8 K.Frew rush left for 7 yards gain to the CSU20 (#12 J.Bellah), 1ST DOWN
(03:42) #2 O.Allen rush left for 1 yard gain to the CSU19 (#52 P.Tangelo)
(03:03) #44 R.Conti rush left for 13 yards gain to the CSU06 (#32 D.Hagans), out of bounds, 1ST DOWN
(02:30) #2 O.Allen rush middle for 6 yards gain to the CSU00 TOUCHDOWN, clock 02:26 #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(02:26) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #24 J.Kinnard caught at CSU20, for 1 yard loss to the CSU24 (#8 D.Daley; #26 A.Perez)
(01:59) No Huddle-Shotgun #24 J.Kinnard rush middle for 4 yards gain to the CSU28 (#5 R.Jones; #99 A.Swartz)
(01:25) No Huddle-Shotgun #7 J.Brousseau pass incomplete short left to #6 T.Lanier thrown to CSU46
(01:21) #83 B.Hansen punt 45 yards to the AFA27
(01:11) #5 D.Carson rush right for 2 yards gain to the AFA29 (#44 J.Ellis; #22 C.Davis)
(00:35) #11 J.Johnson sacked for loss of 4 yards to the AFA25 (#40 O.Long)
(00:12) #11 J.Johnson rush middle for 6 yards gain to the AFA31 (#91 M.Tuitele)
(15:00) #97 L.Freer punt 44 yards to the CSU25, out of bounds at CSU25
(14:50) No Huddle-Shotgun #7 J.Brousseau pass complete short middle to #25 L.Avant caught at CSU30, for 6 yards to the CSU31 (#6 B.Fletcher; #33 B.Bujnoch)
(14:23) No Huddle-Shotgun #7 J.Brousseau sacked for loss of 4 yards to the CSU27 (#45 J.Reese)
(13:48) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU25, for 7 yards to the CSU34 (#15 J.Adams; #36 M.Mustell)
(13:14) No Huddle #7 J.Brousseau rush middle for 1 yard gain to the CSU35 (#8 D.Daley; #96 P.Zdroik), 1ST DOWN
(12:40) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU40, for 5 yards to the CSU40 (#2 K.Johnson)
(12:08) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #8 L.Brown caught at CSU45, for 6 yards to the CSU46 (#9 L.Brown; #6 B.Fletcher), 1ST DOWN
(11:29) No Huddle-Shotgun #7 J.Brousseau rush middle for 4 yards gain to the CSU50 (#33 B.Bujnoch)
(10:47) No Huddle-Shotgun #7 J.Brousseau pass incomplete short middle to #6 T.Lanier thrown to AFA45 broken up by #8 D.Daley
(10:44) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #81 R.Beers caught at CSU50, for 4 yards to the AFA46 (#8 D.Daley; #5 R.Jones)
(10:09) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #10 T.Maher caught at AFA31, for 18 yards to the AFA28 (#26 A.Perez), 1ST DOWN
(09:30) No Huddle-Shotgun #7 J.Brousseau pass incomplete deep left to #81 R.Beers thrown to AFA07
(09:27) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at AFA29, for 8 yards to the AFA20 (#5 R.Jones), out of bounds
(08:51) No Huddle-Shotgun #7 J.Brousseau pass complete deep left to #6 T.Lanier caught at AFA00, for 20 yards to the AFA00 TOUCHDOWN, clock 08:48, 1ST DOWN #98 I.Hankins kick attempt good (H: #83 B.Hansen, LS: #46 C.Pettitt)
(08:48) #21 C.Harris rush left for 8 yards gain to the AFA33 (#40 O.Long)
(08:10) #2 O.Allen rush middle for 5 yards gain to the AFA38 (#39 D.Gill; #55 A.Laurich), 1ST DOWN
(07:35) #4 K.Hodges rush middle for 5 yards gain to the AFA43 (#13 J.Jarmolowich; #91 M.Tuitele)
(06:58) Shotgun #21 C.Harris rush right for 6 yards gain to the AFA49 (#7 L.Joe), out of bounds, 1ST DOWN
(06:23) #2 O.Allen rush right for 6 yards gain to the CSU45 (#11 J.Naborne; #32 D.Hagans)
(05:41) #2 O.Allen rush right for 6 yards gain to the CSU39 (#52 P.Tangelo; #45 R.Edmonson), 1ST DOWN
(04:58) #2 O.Allen rush middle for 5 yards gain to the CSU34 (#7 L.Joe; #32 D.Hagans)
(04:19) #2 O.Allen rush middle for 3 yards gain to the CSU31 (#47 D.Rodriguez)
(03:36) #2 O.Allen rush middle for 6 yards gain to the CSU25 (#47 D.Rodriguez; #45 R.Edmonson), 1ST DOWN
(02:54) #2 O.Allen rush right for 1 yard gain to the CSU24 (#7 L.Joe; #23 J.Mitchell)
(02:13) #8 K.Frew rush right for 12 yards gain to the CSU12 (#40 O.Long; #77 J.Moran), 1ST DOWN
(02:00) #2 O.Allen rush middle for 3 yards gain to the CSU09 (#40 O.Long; #91 M.Tuitele)
(01:56) #21 C.Harris rush right for 1 yard loss to the CSU10 (#44 J.Ellis; #23 J.Mitchell)
(01:51) #11 J.Johnson rush middle for 9 yards gain to the CSU01 (#39 D.Gill; #7 L.Joe), 1ST DOWN
(01:13) #11 J.Johnson rush middle for 0 yards to the CSU01 (#4 J.Rogers; #40 O.Long)
(00:22) #11 J.Johnson rush middle for 0 yards to the CSU01 (#40 O.Long; #23 J.Mitchell)
(00:16) #4 K.Hodges rush middle for 1 yard gain to the CSU00 TOUCHDOWN, clock 00:14 #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(00:14) Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU23, for 22 yards to the CSU47 lateral to #25 L.Avant for 24 yards gain to the CSU47 (#6 B.Fletcher; #99 A.Swartz), 1ST DOWN
(00:00) Shotgun #7 J.Brousseau pass complete short right to #8 L.Brown caught at AFA38, for 15 yards to the AFA38 (#26 A.Perez), out of bounds, 1ST DOWN
(15:00) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #25 L.Avant caught at CSU20, for 5 yards to the CSU30 (#5 R.Jones; #8 D.Daley)
(14:30) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU29, for 5 yards to the CSU35 (#26 A.Perez; #9 L.Brown), 1ST DOWN
(14:02) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #6 T.Lanier caught at CSU40, for 6 yards to the CSU41 (#9 L.Brown), out of bounds
(13:39) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #25 L.Avant caught at CSU36, for 8 yards to the CSU49 (#2 K.Johnson; #96 P.Zdroik), out of bounds, 1ST DOWN
(13:12) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #10 T.Maher caught at AFA49, for 3 yards to the AFA48 (#2 K.Johnson), out of bounds
(12:49) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #25 L.Avant caught at CSU49, for 38 yards to the AFA10 (#95 D.Grobe), out of bounds, 1ST DOWN
(12:09) No Huddle-Shotgun #7 J.Brousseau pass incomplete short right to #81 R.Beers thrown to AFA00 QB hurried by #6 B.Fletcher
(12:05) No Huddle-Shotgun #25 L.Avant rush middle for 5 yards gain to the AFA05 (#8 D.Daley; #6 B.Fletcher)
(11:22) No Huddle-Shotgun #25 L.Avant rush middle for 5 yards gain to the AFA00 TOUCHDOWN, clock 11:19, 1ST DOWN #98 I.Hankins kick attempt good (H: #83 B.Hansen, LS: #56 W.Himebauch)
(11:18) #5 D.Carson rush middle for 3 yards gain to the CSU42 (#11 J.Naborne)
(10:32) #5 D.Carson rush right for 3 yards gain to the CSU39 (#40 O.Long; #44 J.Ellis)
(09:46) Shotgun #4 K.Hodges rush middle for 21 yards gain to the CSU18 (#17 C.Blocker), 1ST DOWN
(09:04) Shotgun #4 K.Hodges rush middle for 6 yards gain to the CSU12 (#40 O.Long; #13 J.Jarmolowich)
(08:23) #5 D.Carson rush middle for 3 yards gain to the CSU09 (#23 J.Mitchell; #44 J.Ellis)
(07:50) #4 K.Hodges rush middle for 0 yards to the CSU09 (#11 J.Naborne; #91 M.Tuitele)
(07:00) #4 K.Hodges rush middle for 3 yards gain to the CSU06 (#40 O.Long; #39 D.Gill), 1ST DOWN
(06:24) Shotgun #4 K.Hodges rush right for 3 yards gain to the CSU03 (#40 O.Long; #12 J.Bellah)
(05:39) #11 J.Johnson rush right for 3 yards gain to the CSU00 TOUCHDOWN, clock 05:37 #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(05:37) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #8 L.Brown caught at CSU33, for 12 yards to the CSU37 (#2 K.Johnson), 1ST DOWN
(05:08) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #8 L.Brown caught at CSU35, for 1 yard to the CSU38 (#5 R.Jones)
(04:30) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU50, for 12 yards to the CSU50, End Of Play, 1ST DOWN
(03:54) No Huddle-Shotgun #7 J.Brousseau pass complete short middle to #25 L.Avant caught at AFA49, for 29 yards to the AFA21 (#5 R.Jones), out of bounds, 1ST DOWN
(03:20) No Huddle-Shotgun #7 J.Brousseau pass incomplete short right to #81 R.Beers thrown to AFA10 QB hurried by #8 D.Daley
(03:16) No Huddle-Shotgun #7 J.Brousseau pass incomplete short right to #24 J.Kinnard thrown to AFA08
(03:10) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #25 L.Avant caught at AFA25, for 4 yards to the AFA17 (#5 R.Jones) PENALTY CSU Holding (#8 L.Brown) 10 yards from AFA17 to AFA27
(02:53) No Huddle-Shotgun #7 J.Brousseau pass complete short right to #25 L.Avant caught at AFA30, for 9 yards to the AFA18 (#9 L.Brown; #6 B.Fletcher)
(02:11) #98 I.Hankins field goal attempt from 36 yards NO GOOD (H: #83 B.Hansen, LS: #56 W.Himebauch), clock 02:08
(02:08) #21 C.Harris rush right for 8 yards gain to the AFA28 (#52 P.Tangelo)
(01:27) #2 O.Allen rush middle for 1 yard gain to the AFA29 (#40 O.Long; #52 P.Tangelo)
(00:46) #2 O.Allen rush right for 3 yards gain to the AFA32 (#44 J.Ellis; #13 J.Jarmolowich), 1ST DOWN. #67 C.Cooley injured on the play
(00:15) #2 O.Allen rush left for 2 yards gain to the AFA34 (#56 K.Agurs; #44 J.Ellis)
(15:00) #11 J.Johnson pass complete deep middle to #18 Q.Smith caught at CSU40, for 27 yards to the CSU39 (#13 J.Jarmolowich), 1ST DOWN. #18 Q.Smith injured on the play
(14:21) #3 M.Long rush left for 7 yards gain to the CSU32 (#29 J.Vincent)
(13:38) #2 O.Allen rush middle for 12 yards gain to the CSU20 (#13 J.Jarmolowich), 1ST DOWN
(12:54) #2 O.Allen rush left for 3 yards gain to the CSU17 (#47 D.Rodriguez; #49 J.Tafia)
(12:08) Shotgun #4 K.Hodges rush middle for 5 yards gain to the CSU12 (#77 J.Moran; #40 O.Long)
(11:22) #4 K.Hodges rush middle for 4 yards gain to the CSU08 (#40 O.Long; #96 J.Murray), 1ST DOWN
(10:41) Shotgun #4 K.Hodges rush middle for 2 yards gain to the CSU06 (#39 D.Gill; #12 J.Bellah)
(09:57) #4 K.Hodges rush right for 0 yards to the CSU06 (#40 O.Long)
(09:14) #11 J.Johnson pass complete short right to #88 B.Fleischmann caught at CSU00, for 6 yards to the CSU00 TOUCHDOWN, clock 09:09 #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(09:09) No Huddle-Shotgun #7 J.Brousseau pass complete short middle to #10 T.Maher caught at CSU28, for 11 yards to the CSU36 (#36 M.Mustell), 1ST DOWN
(08:40) No Huddle-Shotgun #7 J.Brousseau rush middle for 2 yards gain to the CSU38 (#96 P.Zdroik; #99 A.Swartz)
(08:03) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #6 T.Lanier caught at CSU48, for 12 yards to the CSU50 (#9 L.Brown), 1ST DOWN
(07:29) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #25 L.Avant caught at CSU47, for 12 yards to the AFA38, End Of Play, 1ST DOWN
(06:56) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #81 R.Beers caught at AFA22, for 38 yards to the AFA00 TOUCHDOWN, clock 06:51, 1ST DOWN #98 I.Hankins kick attempt good (H: #83 B.Hansen, LS: #56 W.Himebauch)
(06:47) #2 O.Allen rush middle for 4 yards gain to the AFA48 (#7 L.Joe; #77 J.Moran)
(06:05) #2 O.Allen rush right for 2 yards gain to the AFA50 (#7 L.Joe; #44 J.Ellis)
(05:19) Shotgun #4 K.Hodges rush middle for 5 yards gain to the CSU45 (#44 J.Ellis), 1ST DOWN
(04:38) Shotgun #2 O.Allen rush middle for 3 yards gain to the CSU42 (#44 J.Ellis)
(03:55) Shotgun #4 K.Hodges rush middle for 27 yards gain to the CSU15 (#13 J.Jarmolowich), out of bounds, 1ST DOWN
(03:22) #2 O.Allen rush middle for 3 yards gain to the CSU12 (#12 J.Bellah)
(03:18) #4 K.Hodges rush right for 5 yards gain to the CSU07 (#12 J.Bellah; #77 J.Moran)
(03:09) #2 O.Allen rush middle for 7 yards gain to the CSU00 TOUCHDOWN, clock 03:05, 1ST DOWN #96 R.Tubbs kick attempt good (H: #97 L.Freer, LS: #49 K.Chesney)
(03:03) No Huddle-Shotgun #7 J.Brousseau pass incomplete short right to #81 R.Beers thrown to CSU20 QB hurried by #30 I.Hubert
(03:00) No Huddle-Shotgun #7 J.Brousseau pass incomplete short left to #10 T.Maher thrown to CSU05
(02:55) No Huddle-Shotgun #7 J.Brousseau pass complete short left to #88 J.McIntyre caught at CSU08, for 8 yards to the CSU10 (#26 A.Perez; #33 B.Bujnoch)
(02:12) #83 B.Hansen punt 67 yards to the AFA23
(02:00) Shotgun #12 T.Gist rush middle for 2 yards gain to the AFA25 (#12 J.Bellah; #77 J.Moran)
(01:14) Shotgun #25 T.Latham rush right for 7 yards gain to the AFA32 (#40 O.Long; #7 L.Joe)
(00:39) #12 T.Gist rush middle for 8 yards gain to the AFA40 (#13 J.Jarmolowich), 1ST DOWN

