Onyx Hawks 35, Apex Vipers 24
Week 3 · Regular season · round 2 · Monday 12 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| ONX Onyx Hawks | 7 | 14 | 0 | 14 | 35 |
| APX Apex Vipers | 7 | 3 | 7 | 7 | 24 |
Game recap
The Onyx Hawks took care of the Apex Vipers 35-24 in round 2 of Week 3. They led by as many as 18 points.
The Vipers opened the scoring with a 17-yard touchdown pass from Mason Okafor-Reid to Luther Banks with 1:28 left in the first quarter. At the break the Hawks were up 21-10. Then came the fourth quarter: a 3-yard touchdown pass from Wes Hadley to Elan Drummond for the Hawks (2:30 left, 28-17); a 17-yard touchdown pass from Wes Hadley to Elan Drummond for the Hawks (1:31 left, 35-17); an 11-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano for the Vipers (0:49 left, 35-24).
The biggest swing of the game came with 2:55 left in the fourth quarter: an interception by Gideon Zamora off Mason Okafor-Reid. It moved the Hawks' chance of winning from 70% to 82%.
Top performer: Wes Hadley (QB, Hawks), with 21 of 27 passing for 208 yards, 3 TD; 3 carries for 30 yards. Elsewhere, Mason Okafor-Reid (Vipers) had 23 of 44 passing for 230 yards, 3 TD, 2 INT; Luther Banks (Vipers) had 22 carries for 141 yards; 8 catches for 72 yards and 2 TD; Bastian Kole (Hawks) had 22 carries for 85 yards and 1 TD; 2 catches for 28 yards; Cyrus Garrow (Hawks) had 5 catches for 68 yards and 1 TD.
Before kickoff, the Vipers' game plan was on offense: attack the zones, stay underneath, target Wendell Garrow; on defense: bracket Wendell Montague (Wendell Garrow finished with 7 catches for 70 yards). Meanwhile, the Hawks' game plan was on offense: attack the zones, target Cyrus Garrow; on defense: bracket Wendell Garrow (Cyrus Garrow finished with 5 catches for 68 yards and 1 TD).
The Vipers move to 0-1-1 and the Hawks to 1-1 this week.
Scoring summary
| Time | Team | Play | ONX-APX |
|---|---|---|---|
| Q1 1:28 | Vipers | A 17-yard touchdown pass from Mason Okafor-Reid to Luther Banks | 0-7 |
| Q1 0:09 | Hawks | A 1-yard touchdown run by Bastian Kole | 7-7 |
| Q2 2:11 | Hawks | An 8-yard touchdown run by Darius Eriksen | 14-7 |
| Q2 0:48 | Hawks | A 1-yard touchdown pass from Wes Hadley to Cyrus Garrow | 21-7 |
| Q2 0:03 | Vipers | A 31-yard field goal by Kasimir Eriksen | 21-10 |
| Q3 0:30 | Vipers | A 6-yard touchdown pass from Mason Okafor-Reid to Luther Banks | 21-17 |
| Q4 2:30 | Hawks | A 3-yard touchdown pass from Wes Hadley to Elan Drummond | 28-17 |
| Q4 1:31 | Hawks | A 17-yard touchdown pass from Wes Hadley to Elan Drummond | 35-17 |
| Q4 0:49 | Vipers | An 11-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano | 35-24 |
Team stats
| ONX | APX | |
|---|---|---|
| Total yards | 358 | 419 |
| Passing yards | 208 | 230 |
| Rushing yards | 150 | 189 |
| Completions | 21 of 27 | 23 of 44 |
| Offensive plays | 61 | 75 |
| Third downs | 4 of 9 | 6 of 14 |
| Fourth downs | 1 of 1 | 4 of 6 |
| Turnovers | 0 | 2 |
| Sacks allowed | 2 | 2 |
| Time of possession | 5:50 | 6:10 |
Onyx Hawks box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Wes Hadley | 21/27 | 208 | 3 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Bastian Kole | 22 | 85 | 1 | 18 |
| Darius Eriksen | 7 | 35 | 1 | 8 |
| Wes Hadley | 3 | 30 | 0 | 13 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Cyrus Garrow | 5 | 68 | 1 | 6 |
| Wendell Montague | 7 | 63 | 0 | 7 |
| Elan Drummond | 4 | 36 | 2 | 5 |
| Bastian Kole | 2 | 28 | 0 | 3 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Wendell Garrow | 12 | 0 | 0 | 1 |
| Elio Brennan | 7 | 0 | 1 | 3 |
| Pavel Pellegrini | 11 | 0 | 0 | 0 |
| Gideon Zamora | 5 | 0 | 1 | 2 |
| Soren Jovanovic | 6 | 0 | 0 | 0 |
| Jonas Varga | 0 | 1 | 0 | 0 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 23/44 | 230 | 3 | 2 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 22 | 141 | 0 | 24 |
| Nils Yardley | 7 | 48 | 0 | 11 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Luther Banks | 8 | 72 | 2 | 11 |
| Wendell Garrow | 7 | 70 | 0 | 11 |
| Ravi Castellano | 6 | 63 | 1 | 11 |
| Pavel Garrow | 2 | 25 | 0 | 5 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Fabian Lachance | 12 | 0 | 0 | 0 |
| Soren Falkner | 8 | 0 | 0 | 0 |
| Nils Ashford | 7 | 0 | 0 | 1 |
| Hector Castellan | 7 | 0 | 0 | 0 |
| Wendell Pellegrini | 6 | 0 | 0 | 0 |
| Matteo Zamora | 5 | 0 | 0 | 1 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 1/1 | 31 | 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 Onyx Hawks 35, Apex Vipers 24 on Snapline. More about the teams: Apex Vipers · Onyx Hawks.