Cipher Lynx 33, Apex Vipers 31
Week 5 · Regular season · round 15 · Wednesday 28 October 2026
| Team | 1 | 2 | 3 | 4 | Final |
|---|---|---|---|---|---|
| CPH Cipher Lynx | 13 | 3 | 0 | 17 | 33 |
| APX Apex Vipers | 0 | 10 | 13 | 8 | 31 |
Game recap
The Cipher Lynx beat the Apex Vipers 33-31 in round 15 of Week 5, and they needed every second to do it. The decisive score was a 56-yard field goal by Orson Thorne with 0:06 left in the fourth quarter.
The Lynx opened the scoring with a 5-yard touchdown pass from Kai Navarro to Zane Lachance with 2:48 left in the first quarter. The Lynx led 16-10 at halftime. In the fourth quarter: a 2-yard touchdown pass from Kai Navarro to Pavel Thorne for the Lynx (3:29 left, 23-23); a 2-yard touchdown run by Kai Navarro for the Lynx (1:25 left, 30-23); a 15-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano for the Vipers (0:27 left, 31-30); a 56-yard field goal by Orson Thorne for the Lynx (0:06 left, 33-31).
The key moment arrived with 0:27 left in the fourth quarter: a two-point conversion. It moved the Lynx' chance of winning from 16% to 68%.
The standout was Kai Navarro (QB, Lynx), with 19 of 28 passing for 259 yards, 2 TD; 8 carries for 56 yards and 1 TD. Elsewhere, Mason Okafor-Reid (Vipers) had 21 of 39 passing for 248 yards, 2 TD, 1 INT; 2 carries for 21 yards; Luther Banks (Vipers) had 12 carries for 90 yards; 2 catches for 25 yards; Ravi Castellano (Vipers) had 7 catches for 85 yards and 2 TD; Ezekiel Hart (Lynx) had 17 carries for 62 yards; 1 catch for 16 yards.
Before kickoff, the Vipers' game plan was on offense: quick game vs the blitz, attack the zones, stay underneath, target Pavel Garrow; on defense: bracket Luca Benedetti (Pavel Garrow finished with 3 catches for 19 yards). Meanwhile, the Lynx' game plan was on offense: attack the zones, target Bram Pellegrini; on defense: bracket Wendell Garrow.
The Vipers move to 8-7 and the Lynx to 7-7-1 this week. The coaches went for it on fourth down twice, converting 2.
Scoring summary
| Time | Team | Play | CPH-APX |
|---|---|---|---|
| Q1 2:48 | Lynx | A 5-yard touchdown pass from Kai Navarro to Zane Lachance (extra point) | 7-0 |
| Q1 2:19 | Lynx | A 34-yard field goal by Orson Thorne | 10-0 |
| Q1 0:58 | Lynx | A 51-yard field goal by Orson Thorne | 13-0 |
| Q2 3:17 | Vipers | A 36-yard field goal by Kasimir Eriksen | 13-3 |
| Q2 2:25 | Lynx | A 49-yard field goal by Orson Thorne | 16-3 |
| Q2 0:32 | Vipers | An 18-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (extra point) | 16-10 |
| Q3 3:03 | Vipers | A 27-yard field goal by Kasimir Eriksen | 16-13 |
| Q3 1:59 | Vipers | A 40-yard field goal by Kasimir Eriksen | 16-16 |
| Q3 1:34 | Vipers | Nils Yardley 74-yd punt return TD (extra point) | 16-23 |
| Q4 3:29 | Lynx | A 2-yard touchdown pass from Kai Navarro to Pavel Thorne (extra point) | 23-23 |
| Q4 1:25 | Lynx | A 2-yard touchdown run by Kai Navarro (extra point) | 30-23 |
| Q4 0:27 | Vipers | A 15-yard touchdown pass from Mason Okafor-Reid to Ravi Castellano (2-pt conversion) | 30-31 |
| Q4 0:06 | Lynx | A 56-yard field goal by Orson Thorne | 33-31 |
Team stats
| CPH | APX | |
|---|---|---|
| Total yards | 429 | 406 |
| Passing yards | 259 | 248 |
| Rushing yards | 170 | 158 |
| Completions | 19 of 28 | 21 of 39 |
| Offensive plays | 67 | 66 |
| Third downs | 4 of 12 | 2 of 12 |
| Fourth downs | 1 of 1 | 1 of 1 |
| Turnovers | 1 | 1 |
| Sacks allowed | 3 | 5 |
| Time of possession | 7:54 | 8:06 |
Cipher Lynx box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Kai Navarro | 19/28 | 259 | 2 | 0 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Ezekiel Hart | 17 | 62 | 0 | 16 |
| Kai Navarro | 8 | 56 | 1 | 20 |
| Orson Achebe | 8 | 37 | 0 | 11 |
| Hector Yardley | 1 | 7 | 0 | 13 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Zane Lachance | 8 | 160 | 1 | 11 |
| Luca Benedetti | 4 | 39 | 0 | 4 |
| Pavel Thorne | 4 | 23 | 1 | 5 |
| Hector Yardley | 2 | 21 | 0 | 2 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Jonas Sandoval | 19 | 0 | 0 | 0 |
| Orson Hargrove | 0 | 3 | 0 | 0 |
| Jonas Ingram | 4 | 0 | 1 | 1 |
| Gideon Jovanovic | 8 | 0 | 0 | 1 |
| Bastien Oyelaran | 4 | 0 | 0 | 1 |
| Emeric Jovanovic | 0 | 1 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Orson Thorne | 4/4 | 56 | 3/3 |
Apex Vipers box score
Passing
| Player | C/ATT | YDS | TD | INT |
|---|---|---|---|---|
| Mason Okafor-Reid | 21/39 | 248 | 2 | 1 |
Rushing
| Player | CAR | YDS | TD | LNG |
|---|---|---|---|---|
| Luther Banks | 12 | 90 | 0 | 26 |
| Fabian Varga | 8 | 47 | 0 | 32 |
| Mason Okafor-Reid | 2 | 21 | 0 | 14 |
Receiving
| Player | REC | YDS | TD | TGT |
|---|---|---|---|---|
| Ravi Castellano | 7 | 85 | 2 | 12 |
| Fabian Varga | 3 | 46 | 0 | 4 |
| Emeric Castellan | 3 | 46 | 0 | 4 |
| Wendell Garrow | 3 | 27 | 0 | 7 |
Defense
| Player | TK | SK | INT | PD |
|---|---|---|---|---|
| Soren Falkner | 35 | 0 | 0 | 1 |
| Hector Hargrove | 0 | 2 | 0 | 0 |
| Wendell Pellegrini | 5 | 0 | 0 | 1 |
| Matteo Falkner | 0 | 1 | 0 | 0 |
| Jonas Draven | 4 | 0 | 0 | 0 |
| Fabian Lachance | 2 | 0 | 0 | 0 |
Kicking
| Player | FG | LNG | XP |
|---|---|---|---|
| Kasimir Eriksen | 3/3 | 40 | 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 Cipher Lynx 33, Apex Vipers 31 on Snapline. More about the teams: Apex Vipers · Cipher Lynx.