Game recap
Cardinals @ 49ers
2026 Wk 3 · SF 36, ARI 30
An 80 yard lateral score, four Purdy touchdowns, and a 24 point Cardinals second half that fell short.
An 82 yard touchdown on a 2 yard pass: Purdy to Evans, lateral to Samuel, tied for the longest lateral score since 1999.
RareTouchdowns of 60+ yards involving a lateral, 1999 to 2026 (regular season and playoffs)
| Season | Game | Yards | Play |
|---|---|---|---|
| 2002 | NYG @ IND | 82 | K.Collins to A.Toomer, after Barber lateral back to Collins |
| 2026 | ARI @ SF | 82 | B.Purdy to M.Evans for 2, lateral to D.Samuel for 80 |
| 2003 | NO @ JAX | 75 | A.Brooks to D.Stallworth, two laterals, final untimed play |
| 2006 | CIN @ NO | 72 | D.Brees to J.Horn, pass thrown after lateral from McAllister |
| 2018 | NE @ MIA | 69 | R.Tannehill to K.Stills, laterals to Parker and Drake |
| 2008 | PHI @ ARI (playoffs) | 62 | K.Warner to L.Fitzgerald |
| 2001 | NYG @ PHI | 60 | K.Collins to A.Toomer, lateral to Barber and back |
| 2003 | NYJ @ PHI | 60 | V.Testaverde to S.Moss, handoff and pitch back |
Deebo Samuel's box score in this game
| Targets | Receptions | Receiving yards | Receiving TD | Carries | Rush yards |
|---|---|---|---|---|---|
| 0 | 0 | 80 | 1 | 2 | 14 |
At 8:40 of the first quarter, from the San Francisco 18, Brock Purdy threw a 2 yard pass to Mike Evans at the 20. Evans pitched it to Deebo Samuel, who ran the remaining 80 yards. The play scored the first points of the game and was worth 7.66 expected points, the biggest single swing of the afternoon. Samuel finished with 80 receiving yards and a touchdown on zero targets and zero catches, and the 82 yards make it the longest touchdown of his career, ahead of a 79 yarder against Detroit in 2021.
Why it matters. Lateral touchdowns of this length are almost always desperation plays on the last snap of a half. This one came on a designed first quarter throw with the game scoreless, and 80 of the 82 yards came after the pitch. Only one other touchdown in 28 seasons of play data has covered 82 yards with a lateral involved, and that 2002 Giants play used the lateral before the throw. For a 49ers offense that reached 8.9 yards per play, it set the tone: one snap covered 82 yards, and Arizona's longest play of the day covered 19.
Arizona ran 80 plays and never gained 20 yards on any of them, the eighth such game since 1999.
AnomalyTeam games of 80+ pass and run plays with no gain of 20+ yards, 1999 to 2026 regular season
| Season | Game | Team | Plays | Yards | Longest | First downs | Result |
|---|---|---|---|---|---|---|---|
| 2011 | NYG @ NYJ | NYJ | 89 | 331 | 15 | 20 | L |
| 1999 | MIN @ NYG | NYG | 83 | 346 | 19 | 23 | L |
| 2001 | ARI @ CAR | CAR | 83 | 318 | 18 | 19 | L |
| 2007 | WAS @ NYG | NYG | 82 | 307 | 19 | 19 | L |
| 2011 | SEA @ CLE | CLE | 82 | 301 | 19 | 19 | W |
| 2016 | DEN @ NO | DEN | 81 | 339 | 18 | 24 | W |
| 2013 | NYG @ DET | DET | 80 | 358 | 17 | 23 | L |
| 2026 | ARI @ SF | ARI | 80 | 365 | 19 | 25 | L |
Arizona's passing volume in this game
| Player | Targets | Receptions | Yards | TD |
|---|---|---|---|---|
| Michael Wilson | 17 | 11 | 89 | 1 |
| Trey McBride | 11 | 9 | 75 | 0 |
| Jeremiyah Love | 5 | 5 | 19 | 1 |
| Marvin Harrison Jr. | 5 | 3 | 40 | 0 |
There have been 344 regular season team games of 80 or more offensive plays since 1999. Only eight of them, this one included, produced no gain of 20 yards or more, and Arizona's 365 yards and 25 first downs are the most in that group. Jacoby Brissett completed 38 of 52 passes for 280 yards, 5.4 yards per attempt, with the longest completion covering 19 yards. San Francisco had six gains of 20 or more on 49 plays, including the 82 yard touchdown.
Why it matters. Eighty plays is a full afternoon of possession, and Arizona converted it into 25 first downs and 30 points, which is why this game stayed close. But the seven teams before them in this table went 2 and 5, because an offense that cannot produce a chunk play has to string together 10 to 14 snaps for every touchdown, and one stall ends the drive. The 49ers needed 49 plays to score 36 because they had six explosive gains. That gap, not the possession count, decided the game.
Kittle's two touchdowns tied Vernon Davis at 55, the most regular season receiving scores by a 49ers tight end since 1999.
Milestone49ers tight ends by regular season receiving touchdowns, 1999 to 2026
| Player | Rec TD | Rec yards | Seasons with SF |
|---|---|---|---|
| George Kittle | 55 | 8,182 | 2017 to 2026 |
| Vernon Davis | 55 | 5,640 | 2006 to 2015 |
| Garrett Celek | 12 | 1,104 | 2012 to 2019 |
| Delanie Walker | 8 | 1,465 | 2006 to 2012 |
| Vance McDonald | 7 | 866 | 2013 to 2016 |
Kittle's regular season games with 2+ receiving touchdowns
| Season | Week | Opponent | Rec | Yards | TD |
|---|---|---|---|---|---|
| 2021 | 13 | SEA | 9 | 181 | 2 |
| 2022 | 11 | ARI | 4 | 84 | 2 |
| 2022 | 15 | SEA | 4 | 93 | 2 |
| 2022 | 16 | WAS | 6 | 120 | 2 |
| 2022 | 18 | ARI | 4 | 29 | 2 |
| 2023 | 5 | DAL | 3 | 67 | 3 |
| 2024 | 6 | SEA | 5 | 58 | 2 |
| 2025 | 11 | ARI | 6 | 67 | 2 |
| 2026 | 3 | ARI | 6 | 82 | 2 |
Kittle entered the game with 53 regular season receiving touchdowns as a 49er. A 10 yard score at 8:46 of the fourth quarter and a 20 yard score at 1:36 brought him level with Vernon Davis, who scored 55 for San Francisco between 2006 and 2015 and 63 in his career across three teams. Kittle caught 6 of 7 targets for 82 yards. Of his nine career multi touchdown games, four have come against Arizona.
Why it matters. Davis built his 55 across ten seasons with 13 in both 2009 and 2013, the most by a 49ers tight end in any season since 1999. Kittle has matched that mark with 2,542 more receiving yards, so his touchdowns have come at a lower rate per yard while his yardage total is far larger. The two that tied the record were the two that mattered most in this game: the first restored a nine point lead after Arizona pulled within three, and the second answered a two point margin with 96 seconds left.
Four touchdowns, no picks, 27 throws: Purdy's third such game trails only Brady, Brees and Lamar Jackson since 1999.
ComparisonMost regular season games with 4+ pass TD, 0 INT, 250+ yards and 27 or fewer attempts, 1999 to 2026
| Passer | Games | First | Last |
|---|---|---|---|
| Tom Brady | 5 | 2001 | 2020 |
| Lamar Jackson | 4 | 2019 | 2024 |
| Drew Brees | 4 | 2004 | 2014 |
| Brock Purdy | 3 | 2023 | 2026 |
| Peyton Manning | 3 | 2003 | 2014 |
| Drew Lock | 2 | 2020 | 2024 |
Purdy's regular season games with 4+ passing touchdowns
| Season | Week | Opponent | Comp | Att | Yards | TD | INT |
|---|---|---|---|---|---|---|---|
| 2023 | 5 | DAL | 17 | 24 | 252 | 4 | 0 |
| 2023 | 13 | PHI | 19 | 27 | 314 | 4 | 0 |
| 2023 | 15 | ARI | 16 | 25 | 242 | 4 | 0 |
| 2025 | 16 | IND | 25 | 34 | 295 | 5 | 1 |
| 2026 | 3 | ARI | 15 | 27 | 297 | 4 | 0 |
Purdy completed 15 of 27 for 297 yards, 11.0 yards per attempt, with touchdowns to Samuel, Evans and two to Kittle. He was not sacked on 27 dropbacks and added 34 rushing yards, plus a 45 yard scramble for a touchdown that was wiped out by a holding penalty. A game with 4 or more touchdown passes, no interceptions, 250 or more yards and 27 or fewer attempts has happened 56 times in 28 regular seasons. Purdy owns three of them, tied with Peyton Manning and one behind Brees and Jackson.
Why it matters. The cohort here is deliberately narrow: it rewards scoring efficiency per throw, not volume. Brady and Manning reached it in high volume offenses that occasionally ran away early; Purdy reaches it because Shanahan's offense generates open receivers, so 27 attempts carry a full game's worth of touchdown chances. Two of his five 4 touchdown games have come against Arizona, and all three of his games in this cohort came on 24 to 27 attempts. The 5.4 yards Arizona averaged per throw on 52 attempts is the contrast that framed the day.
Arizona erased a 17 point deficit to within 2 points twice, and San Francisco answered both times with a touchdown drive.
TrendEvery scoring play, with the running score (SF listed first)
| Qtr | Clock | Team | Play | Score |
|---|---|---|---|---|
| 1 | 8:40 | SF | Purdy 2 yd pass to Evans, Samuel 80 yd lateral TD | 7-0 |
| 2 | 15:00 | SF | Purdy 23 yd TD pass to Evans | 14-0 |
| 2 | 3:08 | ARI | Ryland 26 yd FG | 14-3 |
| 2 | 0:27 | ARI | Ryland 41 yd FG | 14-6 |
| 2 | 0:04 | SF | Pineiro 57 yd FG | 17-6 |
| 3 | 11:10 | SF | McCaffrey 1 yd TD run, PAT missed | 23-6 |
| 3 | 3:07 | ARI | Brissett 5 yd TD pass to Wilson | 23-13 |
| 4 | 13:10 | ARI | Brissett 1 yd TD pass to Love | 23-20 |
| 4 | 8:46 | SF | Purdy 10 yd TD pass to Kittle, PAT missed | 29-20 |
| 4 | 2:55 | ARI | Brissett 1 yd TD run | 29-27 |
| 4 | 1:36 | SF | Purdy 20 yd TD pass to Kittle | 36-27 |
| 4 | 0:39 | ARI | Ryland 49 yd FG | 36-30 |
San Francisco's two answer drives after Arizona pulled within one score
| Arizona score | Clock at kickoff | SF drive | Ended | Result |
|---|---|---|---|---|
| 23-20 | 13:06 4Q | 8 plays, 64 yards | 8:46 4Q | Kittle 10 yd TD |
| 29-27 | 2:51 4Q | 7 plays | 1:36 4Q | Kittle 20 yd TD |
Teams that trailed by 17+ points in the second half, 1999 to 2026 regular season
| Team games | Won | Win rate |
|---|---|---|
| 2,938 | 88 | 3.0% |
Arizona trailed 23-6 with 11 minutes left in the third quarter and scored on three of its next four possessions: a 13 play touchdown drive, then, after a punt that Siran Neal muffed and Arizona recovered at the San Francisco 28, a five play touchdown drive, and finally a 14 play, 68 yard drive that took 5:43 and ended with Brissett's 1 yard run at 2:55. Each time the margin reached 3 or 2, the 49ers took the next kickoff and scored a touchdown. The second answer took 75 seconds. The 49ers never trailed and led by as many as 17; two missed extra points are why the final margin was 6 rather than 8.
Why it matters. A 17 point second half deficit is close to a lost cause: teams in that position have won 3 percent of the time since 1999. Arizona did the hard part, scoring 24 points after halftime with a 0.266 EPA per play offense, and still lost because the deficit was never fully erased. The 49ers' two answer drives are the story of the fourth quarter, and both ended with the same receiver. A muffed punt gave Arizona a short field for one score, and the 49ers' two missed extra points kept the final margin inside one possession, so the finish was closer than the offensive gap of 8.9 yards per play to 4.6 suggests.
The 49ers' 0.49 EPA per play is the third best offensive game of the Shanahan era, and three of the top seven came against Arizona.
ComparisonBest San Francisco offensive games by EPA per play under Kyle Shanahan, 2017 to 2026 regular season (min 40 plays)
| Rank | Season | Week | Opponent | Plays | EPA/play | Yards/play |
|---|---|---|---|---|---|---|
| 1 | 2023 | 13 | at PHI | 56 | 0.530 | 8.16 |
| 2 | 2023 | 4 | ARI | 51 | 0.500 | 7.78 |
| 3 | 2026 | 3 | ARI | 49 | 0.490 | 8.94 |
| 4 | 2021 | 8 | at CHI | 51 | 0.470 | 9.25 |
| 5 | 2026 | 2 | MIA | 47 | 0.460 | 8.17 |
| 6 | 2019 | 2 | at CIN | 66 | 0.452 | 8.68 |
| 7 | 2023 | 15 | at ARI | 51 | 0.426 | 8.00 |
| 8 | 2024 | 14 | CHI | 60 | 0.407 | 7.55 |
Offensive EPA per play, this game versus each team's baseline
| Team | This game | 2026 Wk 1 | 2026 Wk 2 | 2025 season (REG) |
|---|---|---|---|---|
| SF | 0.490 | 0.179 | 0.460 | 0.088 |
| ARI | 0.169 | -0.019 |
San Francisco gained 438 yards on 49 offensive plays, 8.94 per play, and scored on 5 of the 49. Its 0.49 EPA per play ranks third among 152 Shanahan era regular season games, and the two 2026 home games now sit third and fifth on that list after a 0.088 average across the 2025 regular season. Arizona's offense was also well above its own 2025 baseline at 0.169, which is how a team that allowed 8.9 yards per play still scored 30.
Why it matters. Weeks 2 and 3 are the first time in Shanahan's tenure that San Francisco has posted consecutive games above 0.45 EPA per play; the other four games at that level were scattered across 2019, 2021 and 2023. Arizona has now been the opponent for three of the seven best games in ten seasons, which points at a matchup problem rather than a one off. The 2025 baseline of 0.088 was sixth in the league, so the 2026 numbers represent a real jump from an already good starting point, on a three game sample.
FanIQ answers any NFL stats question with receipts, on your phone.
Get FanIQ freeGet it on Google Play