Apex Vipers 28, Spark Kestrels 27
Week 5 · Regular season · round 8 · Tuesday 27 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| SPK Spark Kestrels | 0 | 7 | 14 | 6 | 27 |
| APX Apex Vipers | 7 | 7 | 0 | 14 | 28 |
Game recap
It came down to the final moments in round 8 of Week 5: the Apex Vipers edged the Spark Kestrels 28-27. The decisive score was a 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano with 0:43 left in the fourth quarter.
The Vipers opened the scoring with a 16-yard touchdown pass from Mason Okafor-Reid to Pavel Garrow with 2:26 left in the first quarter. At the break the Vipers were up 14-7. The fourth quarter brought a 4-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow for the Vipers (2:20 left, 22-21); a 1-yard touchdown run by Malachi Reed for the Kestrels (1:56 left, 27-22); a 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano for the Vipers (0:43 left, 28-27).
The key moment arrived with 0:43 left in the fourth quarter: a 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano. It moved the Vipers' chance of winning from 34% to 92%.
The standout was Mason Okafor-Reid (QB, Vipers), with 26 of 43 passing for 311 yards, 4 TD, 2 INT; 3 carries for -3 yards. Elsewhere, Luther Banks (Vipers) had 12 carries for 108 yards; 1 catch for 9 yards; Ravi Castellano (Vipers) had 5 catches for 75 yards and 2 TD; Eli Varga-Stone (Kestrels) had 22 of 34 passing for 253 yards; Malachi Reed (Kestrels) had 12 carries for 65 yards and 4 TD; 1 catch for 4 yards.
Before kickoff, the Vipers' game plan was on offense: quick game vs the blitz, attack the zones, stay underneath, target Wendell Garrow; on defense: bracket Jaylen Osei (Wendell Garrow finished with 7 catches for 50 yards and 1 TD). Meanwhile, the Kestrels' game plan was on offense: attack the zones, take shots deep, target Bastien Radcliffe; on defense: bracket Wendell Garrow (Bastien Radcliffe finished with 8 catches for 93 yards).
The Vipers move to 5-3 and the Kestrels to 2-5-1 this week. The coaches went for it on fourth down once, and it worked. Injuries: Nils Yardley (RB, Vipers) ankle injury, out 1 week.
Scoring summary
| Time | Team | Play | SPK-APX |
|---|---|---|---|
| Q1 2:26 | Vipers | A 16-yard touchdown pass from Mason Okafor-Reid to Pavel Garrow (extra point) | 0-7 |
| Q2 2:58 | Vipers | A 2-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (extra point) | 0-14 |
| Q2 0:09 | Kestrels | An 8-yard touchdown run by Malachi Reed (extra point) | 7-14 |
| Q3 2:28 | Kestrels | A 3-yard touchdown run by Malachi Reed (extra point missed) | 13-14 |
| Q3 0:05 | Kestrels | A 15-yard touchdown run by Malachi Reed (2-pt conversion) | 21-14 |
| Q4 2:20 | Vipers | A 4-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow (2-pt conversion) | 21-22 |
| Q4 1:56 | Kestrels | A 1-yard touchdown run by Malachi Reed (2-pt try failed) | 27-22 |
| Q4 0:43 | Vipers | A 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (2-pt try failed) | 27-28 |
Team stats
| SPK | APX | |
|---|---|---|
| Total yards | 364 | 472 |
| Passing yards | 253 | 311 |
| Rushing yards | 111 | 161 |
| Completions | 22 of 34 | 26 of 43 |
| Offensive plays | 61 | 71 |
| Third downs | 6 of 11 | 7 of 9 |
| Fourth downs | — | — |
| Turnovers | 1 | 3 |
| Sacks allowed | 8 | 3 |
| Time of possession | 7:29 | 8:31 |
Spark Kestrels box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Eli Varga-Stone | 22/34 | 253 | 0 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Malachi Reed | 12 | 65 | 4 | 15 |
| Yannick Delacroix | 7 | 46 | 0 | 13 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Jaylen Osei | 8 | 107 | 0 | 10 |
| Bastien Radcliffe | 8 | 93 | 0 | 11 |
| Ulric Hargrove | 4 | 41 | 0 | 5 |
| Yannick Delacroix | 1 | 8 | 0 | 1 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Kasimir Castellan | 18 | 0 | 0 | 1 |
| Tariq Brennan | 9 | 0 | 0 | 0 |
| Valen Lachance | 0 | 2 | 0 | 0 |
| Soren Eriksen | 3 | 0 | 1 | 0 |
| Fabian Achebe | 2 | 0 | 1 | 0 |
| Hector Jovanovic | 0 | 1 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Orson Jovanovic | 0/0 | 0 | 1/2 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 26/43 | 311 | 4 | 2 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 12 | 108 | 0 | 22 |
| Fabian Varga | 7 | 37 | 0 | 33 |
| Nils Yardley | 2 | 12 | 0 | 8 |
| Emeric Castellan | 1 | 7 | 0 | 16 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Ravi Castellano | 5 | 75 | 2 | 8 |
| Fabian Varga | 3 | 63 | 0 | 4 |
| Wendell Garrow | 7 | 50 | 1 | 11 |
| Pavel Garrow | 5 | 47 | 1 | 8 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Soren Falkner | 18 | 0 | 0 | 0 |
| Orson Whitlock | 0 | 3 | 0 | 0 |
| Pavel Montague | 0 | 2 | 0 | 0 |
| Matteo Zamora | 6 | 0 | 0 | 1 |
| Nils Ashford | 5 | 0 | 0 | 3 |
| Elio Hargrove | 0 | 1 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 0/0 | 0 | 2/2 |
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 28, Spark Kestrels 27 on Snapline. More about the teams: Apex Vipers · Spark Kestrels.