Apex Vipers 35, Granite Grizzlies 28
Week 2 · Regular season · round 10 · Tuesday 6 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| GRZ Granite Grizzlies | 0 | 14 | 14 | 0 | 28 |
| APX Apex Vipers | 7 | 7 | 7 | 14 | 35 |
Game recap
The Apex Vipers came back to beat the Granite Grizzlies 35-28 in round 10 of Week 2. They trailed by as many as 7 points, and their chance of winning dropped as low as 18%.
The Vipers opened the scoring with a 25-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow with 1:29 left in the first quarter. It was 14-14 at halftime. In the fourth quarter: a 13-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow for the Vipers (2:31 left, 28-28); a 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano for the Vipers (1:11 left, 35-28).
The key moment arrived with 1:45 left in the fourth quarter: a 0-yard run by Jonah Whitfield on fourth down. It moved the Vipers' chance of winning from 32% to 55%.
Top performer: Mason Okafor-Reid (QB, Vipers), with 26 of 40 passing for 286 yards, 5 TD; 2 carries for 13 yards. Elsewhere, Luther Banks (Vipers) had 19 carries for 83 yards; 4 catches for 43 yards; Ravi Castellano (Vipers) had 8 catches for 98 yards and 1 TD; Reid Callahan (Grizzlies) had 27 of 37 passing for 358 yards, 4 TD; Jonah Whitfield (Grizzlies) had 15 carries for 58 yards; 1 catch for 9 yards.
Before kickoff, the Vipers' game plan was on offense: attack the zones, throw it more, target Pavel Garrow; on defense: bracket Bastien Lachance (Pavel Garrow finished with 4 catches for 50 yards). Meanwhile, the Grizzlies' game plan was on offense: attack the zones, target Bastien Lachance; on defense: bracket Wendell Garrow (Bastien Lachance finished with 6 catches for 84 yards and 1 TD).
The Vipers move to 3-6-1 and the Grizzlies to 5-5 this week.
Scoring summary
| Time | Team | Play | GRZ-APX |
|---|---|---|---|
| Q1 1:29 | Vipers | A 25-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow | 0-7 |
| Q2 2:30 | Grizzlies | A 1-yard touchdown pass from Reid Callahan to Yannick Ingram | 7-7 |
| Q2 1:31 | Vipers | A 13-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow | 7-14 |
| Q2 0:56 | Grizzlies | A 3-yard touchdown pass from Reid Callahan to Fabian Brennan | 14-14 |
| Q3 2:03 | Vipers | An 11-yard touchdown pass from Mason Okafor-Reid to Emeric Castellan | 14-21 |
| Q3 1:30 | Grizzlies | A 21-yard touchdown pass from Reid Callahan to Marlon Esquivel | 21-21 |
| Q3 1:06 | Grizzlies | A 9-yard touchdown pass from Reid Callahan to Bastien Lachance | 28-21 |
| Q4 2:31 | Vipers | A 13-yard touchdown pass from Mason Okafor-Reid to Wendell Garrow | 28-28 |
| Q4 1:11 | Vipers | A 13-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano | 28-35 |
Team stats
| GRZ | APX | |
|---|---|---|
| Total yards | 429 | 420 |
| Passing yards | 358 | 286 |
| Rushing yards | 71 | 134 |
| Completions | 27 of 37 | 26 of 40 |
| Offensive plays | 57 | 68 |
| Third downs | 3 of 7 | 8 of 13 |
| Fourth downs | 0 of 2 | 2 of 2 |
| Turnovers | 1 | 1 |
| Sacks allowed | 3 | 1 |
| Time of possession | 5:20 | 6:40 |
Granite Grizzlies box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Reid Callahan | 27/37 | 358 | 4 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Jonah Whitfield | 15 | 58 | 0 | 12 |
| Fabian Norcross | 2 | 13 | 0 | 7 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Marlon Esquivel | 10 | 155 | 1 | 14 |
| Bastien Lachance | 6 | 84 | 1 | 6 |
| Yannick Ingram | 7 | 73 | 1 | 9 |
| Fabian Brennan | 3 | 37 | 1 | 4 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Bram Bellamy | 9 | 0 | 0 | 0 |
| Adrien Jovanovic | 9 | 0 | 0 | 1 |
| Adrien Varga | 9 | 0 | 0 | 0 |
| Wendell Draven | 7 | 0 | 0 | 2 |
| Cassius Castellan | 5 | 0 | 0 | 1 |
| Ulric Zamora | 5 | 0 | 0 | 0 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 26/40 | 286 | 5 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 19 | 83 | 0 | 15 |
| Nils Yardley | 6 | 38 | 0 | 9 |
| Mason Okafor-Reid | 2 | 13 | 0 | 9 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Ravi Castellano | 8 | 98 | 1 | 13 |
| Wendell Garrow | 6 | 71 | 3 | 6 |
| Pavel Garrow | 4 | 50 | 0 | 7 |
| Luther Banks | 4 | 43 | 0 | 7 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Matteo Zamora | 11 | 0 | 0 | 0 |
| Fabian Lachance | 7 | 0 | 0 | 0 |
| Wendell Pellegrini | 6 | 0 | 0 | 0 |
| Nils Ashford | 6 | 0 | 0 | 1 |
| Hector Castellan | 4 | 0 | 0 | 0 |
| Jonas Draven | 4 | 0 | 0 | 2 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 0/1 | 0 | 0/0 |
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 35, Granite Grizzlies 28 on Snapline. More about the teams: Apex Vipers · Granite Grizzlies.