Apex Vipers 45, Citadel Rams 31
Week 5 · Regular season · round 19 · Thursday 29 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| CTD Citadel Rams | 7 | 10 | 7 | 7 | 31 |
| APX Apex Vipers | 14 | 17 | 14 | 0 | 45 |
Game recap
The Apex Vipers outscored the Citadel Rams 45-31 in a high-scoring game in round 19 of Week 5. The teams combined for 76 points. It was an upset: before kickoff the engine gave the Vipers only a 36% chance of winning.
The Vipers opened the scoring with a 4-yard touchdown run by Mason Okafor-Reid with 2:11 left in the first quarter. At the break the Vipers were up 31-17. Then came the fourth quarter: a 9-yard touchdown pass from Augustin Mercer-Hale to Bastien Hargrove for the Rams (2:27 left, 45-31).
The biggest swing of the game came with 1:56 left in the second quarter: a 2-yard touchdown run by Luther Banks. It moved the Vipers' chance of winning from 57% to 71%.
Player of the game: Mason Okafor-Reid (QB, Vipers), with 21 of 27 passing for 273 yards, 3 TD; 3 carries for 15 yards and 1 TD. Elsewhere, Luther Banks (Vipers) had 25 carries for 138 yards and 2 TD; 2 catches for 30 yards; Ravi Castellano (Vipers) had 8 catches for 91 yards and 1 TD; Augustin Mercer-Hale (Rams) had 20 of 29 passing for 233 yards, 3 TD, 1 INT; 2 carries for 15 yards; Bastien Hargrove (Rams) had 6 carries for 53 yards and 1 TD; 1 catch for 9 yards and 1 TD.
Before kickoff, the Vipers' game plan was on offense: attack the zones, stay underneath, target Wendell Garrow; on defense: bracket Desmond Ashcroft (Wendell Garrow finished with 4 catches for 46 yards and 1 TD). Meanwhile, the Rams' game plan was on offense: attack the zones, throw it more, target Orson Ashford; on defense: bracket Wendell Garrow (Orson Ashford finished with 8 catches for 87 yards and 1 TD).
The Vipers move to 9-7-3 and the Rams to 5-14 this week. The coaches went for it on fourth down once, and it worked.
Scoring summary
| Time | Team | Play | CTD-APX |
|---|---|---|---|
| Q1 2:11 | Vipers | A 4-yard touchdown run by Mason Okafor-Reid (extra point) | 0-7 |
| Q1 1:27 | Rams | A 13-yard touchdown pass from Augustin Mercer-Hale to Ulric Draven (extra point) | 7-7 |
| Q1 0:16 | Vipers | A 2-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (extra point) | 7-14 |
| Q2 3:15 | Rams | A 3-yard touchdown pass from Augustin Mercer-Hale to Orson Ashford (extra point) | 14-14 |
| Q2 1:56 | Vipers | A 2-yard touchdown run by Luther Banks (extra point) | 14-21 |
| Q2 1:24 | Vipers | A 9-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow (extra point) | 14-28 |
| Q2 0:08 | Vipers | A 50-yard field goal by Kasimir Eriksen | 14-31 |
| Q2 0:01 | Rams | A 38-yard field goal by Adrien Garrow | 17-31 |
| Q3 2:41 | Vipers | A 2-yard touchdown pass from Mason Okafor-Reid to Pavel Garrow (extra point) | 17-38 |
| Q3 1:54 | Rams | A 7-yard touchdown run by Bastien Hargrove (extra point) | 24-38 |
| Q3 0:53 | Vipers | A 7-yard touchdown run by Luther Banks (extra point) | 24-45 |
| Q4 2:27 | Rams | A 9-yard touchdown pass from Augustin Mercer-Hale to Bastien Hargrove (extra point) | 31-45 |
Team stats
| CTD | APX | |
|---|---|---|
| Total yards | 346 | 527 |
| Passing yards | 233 | 273 |
| Rushing yards | 113 | 254 |
| Completions | 20 of 29 | 21 of 27 |
| Offensive plays | 44 | 68 |
| Third downs | 2 of 6 | 7 of 9 |
| Fourth downs | 1 of 1 | — |
| Turnovers | 1 | 1 |
| Sacks allowed | 2 | 2 |
| Time of possession | 5:59 | 10:01 |
Citadel Rams box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Augustin Mercer-Hale | 20/29 | 233 | 3 | 1 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Bastien Hargrove | 6 | 53 | 1 | 28 |
| Ulric Draven | 5 | 45 | 0 | 13 |
| Augustin Mercer-Hale | 2 | 15 | 0 | 13 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Orson Ashford | 8 | 87 | 1 | 10 |
| Desmond Ashcroft | 5 | 68 | 0 | 7 |
| Ivo Yardley | 5 | 56 | 0 | 6 |
| Ulric Draven | 1 | 13 | 1 | 2 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Bram Brennan | 33 | 0 | 0 | 0 |
| Pavel Falkner | 7 | 0 | 0 | 0 |
| Cyrus Ingram | 5 | 0 | 0 | 0 |
| Soren Varga | 0 | 1 | 0 | 0 |
| Nils Quarles | 0 | 1 | 0 | 0 |
| Cassius Hargrove | 1 | 0 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Adrien Garrow | 1/1 | 38 | 4/4 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 21/27 | 273 | 3 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 25 | 138 | 2 | 20 |
| Fabian Varga | 11 | 101 | 0 | 18 |
| Mason Okafor-Reid | 3 | 15 | 1 | 12 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Ravi Castellano | 8 | 91 | 1 | 12 |
| Wendell Garrow | 4 | 46 | 1 | 5 |
| Darius Garrow | 1 | 45 | 0 | 1 |
| Emeric Castellan | 3 | 40 | 0 | 3 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Soren Falkner | 9 | 0 | 0 | 0 |
| Matteo Zamora | 4 | 0 | 1 | 0 |
| Wendell Pellegrini | 7 | 0 | 0 | 0 |
| Matteo Falkner | 0 | 1 | 0 | 0 |
| Orson Whitlock | 0 | 1 | 0 | 0 |
| Fabian Lachance | 3 | 0 | 0 | 1 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 1/1 | 50 | 6/6 |
Watch the replay
Every play of this game can be replayed on the big screen, with the play calls, the win probability and the commentary: replay Apex Vipers 45, Citadel Rams 31 on Snapline. More about the teams: Apex Vipers · Citadel Rams.