Arizona
Cardinals
1-1
23
FINAL
21
San Francisco
49ers
0-2
AI Recap
AI RECAPIn a thrilling Week 3 matchup, the Arizona Cardinals narrowly defeated the San Francisco 49ers 23-21, a victory that keeps them firmly in the playoff conversation early in the 2026 season. Both teams entered the game looking to establish momentum, but it was Arizona that emerged victorious in a hard-fought contest.
Quarterback Justin Herbert led the way for the Cardinals, throwing for 333 yards and two touchdowns, showcasing his ability to command the offense. His favorite target was Khalil Shakir, who racked up 137 receiving yards, making crucial catches that kept drives alive. On the ground, Breece Hall of the 49ers was the standout, rushing for 70 yards, but it wasn’t enough to secure the win.
Defensively, the game turned on a key interception by Kerby Joseph of the Cardinals, which shifted momentum back to Arizona in the second half. Cedric Gray anchored the Cardinals' defense with nine total tackles, while Chase Young of the 49ers proved disruptive with two sacks. Ultimately, it was Arizona's ability to capitalize on critical defensive plays that secured their tight victory in this tightly contested battle.
Passing
| Player | Pos | ATT | CMP | CMP% | YDS | TD | INT | QBR |
|---|---|---|---|---|---|---|---|---|
| Justin Herbert | QB | 45 | 31 | 69% | 333 | 2 | 0 | 105.1 |
| Bo Nix | QB | 45 | 26 | 58% | 256 | 1 | 1 | 72.0 |
Rushing
| Player | Pos | ATT | YDS | YPC | YAC | TD | LNG | FUM |
|---|---|---|---|---|---|---|---|---|
| Breece Hall | HB | 11 | 70 | 6.4 | 26 | 1 | 27 | 0 |
| Tony Pollard | HB | 14 | 68 | 4.9 | 34 | 0 | 22 | 0 |
| Antonio Gibson | HB | 3 | 11 | 3.7 | — | 0 | 6 | 0 |
| Chuba Hubbard | HB | 3 | 9 | 3.0 | — | 0 | 5 | 0 |
| Khalil Shakir | WR | 1 | 6 | 6.0 | — | 0 | 6 | 0 |
| Josh Downs | WR | 1 | 1 | 1.0 | — | 1 | 1 | 0 |
| Calvin Ridley | WR | 0 | 0 | 0.0 | — | 0 | 0 | 0 |
| Justin Herbert | QB | 4 | 0 | 0.0 | — | 0 | 3 | 0 |
| Trey McBride | TE | 0 | 0 | 0.0 | — | 0 | 0 | 0 |
| DeMario Douglas | WR | 0 | 0 | 0.0 | — | 0 | 0 | 1 |
| Harold Fannin Jr | TE | 0 | 0 | 0.0 | — | 0 | 0 | 0 |
Receiving
| Player | Pos | REC | YDS | YPR | YAC | TD | LNG | DROP |
|---|---|---|---|---|---|---|---|---|
| Khalil Shakir | WR | 12 | 137 | 11.4 | 31 | 1 | 18 | 0 |
| Calvin Ridley | WR | 10 | 118 | 11.8 | 16 | 0 | 24 | 0 |
| Terry McLaurin | WR | 6 | 84 | 14.0 | 4 | 1 | 24 | 2 |
| Harold Fannin Jr | TE | 7 | 76 | 10.9 | 26 | 0 | 17 | 0 |
| Josh Downs | WR | 5 | 72 | 14.4 | 17 | 0 | 28 | 0 |
| DeMario Douglas | WR | 3 | 35 | 11.7 | 8 | 1 | 14 | 0 |
| Trey McBride | TE | 5 | 31 | 6.2 | 10 | 0 | 10 | 1 |
| Rashod Bateman | WR | 1 | 18 | 18.0 | — | 0 | 18 | 0 |
| Tommy Tremble | TE | 2 | 17 | 8.5 | 6 | 0 | 9 | 0 |
| Dontayvion Wicks | WR | 1 | 5 | 5.0 | 1 | 0 | 5 | 0 |
| Michael Burton | FB | 2 | 2 | 1.0 | — | 0 | 1 | 0 |
| Makai Lemon | WR | 0 | 0 | 0.0 | — | 0 | 0 | 1 |
| Antonio Gibson | HB | 1 | -2 | -2.0 | — | 0 | 0 | 0 |
| Tony Pollard | HB | 1 | -2 | -2.0 | — | 0 | 0 | 0 |
| Breece Hall | HB | 1 | -2 | -2.0 | — | 0 | 0 | 0 |
Defense
| Player | Pos | TKL | SACK | INT | FF | PD |
|---|---|---|---|---|---|---|
| Cedric Gray | WILL | 9 | 0 | 0 | 1 | 0 |
| Cooper DeJean | CB | 8 | 0 | 0 | 0 | 0 |
| Azeez Al-Shaair | MIKE | 8 | 0 | 0 | 0 | 0 |
| Cor'Dale Flott | CB | 8 | 0 | 0 | 0 | 0 |
| Kerby Joseph | FS | 2 | 0.5 | 1 | 0 | 0 |
| Garrett Williams | CB | 7 | 0 | 0 | 0 | 0 |
| Tyrel Dodson | WILL | 6 | 0.5 | 0 | 0 | 0 |
| Trey Hendrickson | REDG | 3 | 2 | 0 | 0 | 0 |
| Chase Young | LEDG | 1 | 2 | 0 | 0 | 0 |
| Quentin Lake | SS | 5 | 0 | 0 | 0 | 0 |
| Taylor Rapp | SS | 3 | 0.5 | 0 | 0 | 1 |
| Carson Schwesinger | MIKE | 4 | 0 | 0 | 0 | 1 |
| Jadeveon Clowney | LEDG | 2 | 1 | 0 | 0 | 0 |
| Justin Reid | FS | 4 | 0 | 0 | 0 | 0 |
| Jaelan Phillips | REDG | 2 | 0.5 | 0 | 0 | 0 |
| Bradley Chubb | REDG | 1 | 1 | 0 | 0 | 0 |
| Kader Kohou | CB | 3 | 0 | 0 | 0 | 0 |
| Grady Jarrett | DT | 2 | 0.5 | 0 | 0 | 0 |
| Aaron Donald | DT | 1 | 0.5 | 0 | 0 | 0 |
| Mohamoud Diabate | WILL | 2 | 0 | 0 | 0 | 0 |
| Jordan Battle | SS | 2 | 0 | 0 | 0 | 1 |
| Charles Omenihu | DT | 2 | 0 | 0 | 0 | 1 |
| Mekhi Blackmon | CB | 2 | 0 | 0 | 0 | 0 |
| Jaylon Johnson | CB | 1 | 0 | 0 | 0 | 0 |
| Milton Williams | DT | 1 | 0 | 0 | 0 | 0 |
| Christian Izien | SS | 1 | 0 | 0 | 0 | 0 |
| Arik Armstead | DT | 1 | 0 | 0 | 0 | 0 |
| Jimmy Ciarlo | MIKE | 1 | 0 | 0 | 0 | 0 |
| Jaden Dugger | SAM | 1 | 0 | 0 | 0 | 0 |
Kicking
| Player | Pos | FGM | FGA | XPM | LNG |
|---|---|---|---|---|---|
| Matt Prater | K | 0 | 1 | 3 | 0 |
| Rigoberto Sanchez | P | 0 | 0 | 0 | 0 |
| Ka'imi Fairbairn | K | 3 | 3 | 2 | 49 |

