Denver
Broncos
0-3
14
FINAL
23
San Francisco
49ers
0-3
AI Recap
AI RECAPIn a crucial Week 4 matchup, the San Francisco 49ers held off the Denver Broncos with a final score of 23-14, improving their season record while dealing a setback to Denver. The stakes were high as both teams aimed to establish themselves early in the 2026 season, but it was the 49ers who emerged victorious on their home turf.
Brock Purdy put on a stellar performance for the 49ers, throwing for 184 yards and two touchdowns, effectively leading his team’s offense. Kaelon Black complemented the passing game with a solid 74 rushing yards, helping to keep Denver's defense on its heels. For the Broncos, Bo Nix threw for 151 yards, while Courtland Sutton was the top receiver with 66 yards, but it wasn’t enough to overcome San Francisco's offensive prowess.
Defensively, the 49ers stepped up when it mattered most, with Nick Bosa recording 1.5 sacks and Fred Warner securing an interception that stifled a potential scoring drive for Denver. A critical turning point came late in the second quarter when Warner's interception shifted momentum, allowing San Francisco to capitalize and extend their lead. Ashtyn Davis led the defense with seven total tackles, ensuring the Broncos struggled to find rhythm throughout the game.
Passing
| Player | Pos | ATT | CMP | CMP% | YDS | TD | INT | QBR |
|---|---|---|---|---|---|---|---|---|
| Bo Nix | QB | 32 | 19 | 59% | 151 | 1 | 1 | 68.6 |
| Brock Purdy | QB | 28 | 18 | 64% | 147 | 2 | 0 | 101.3 |
Rushing
| Player | Pos | ATT | YDS | YPC | YAC | TD | LNG | FUM |
|---|---|---|---|---|---|---|---|---|
| Kaelon Black | HB | 5 | 74 | 14.8 | 63 | 0 | 58 | 0 |
| Christian McCaffrey | HB | 13 | 49 | 3.8 | 21 | 0 | 13 | 0 |
| Jordan James | HB | 5 | 49 | 9.8 | 27 | 0 | 32 | 0 |
| Kyle Juszczyk | FB | 5 | 48 | 9.6 | 35 | 0 | 21 | 0 |
| J.K. Dobbins | HB | 4 | 38 | 9.5 | 18 | 0 | 25 | 0 |
| Brock Purdy | QB | 7 | 18 | 2.6 | — | 0 | 7 | 0 |
| RJ Harvey | HB | 11 | 16 | 1.5 | 2 | 1 | 6 | 0 |
| Bo Nix | QB | 5 | 10 | 2.0 | — | 0 | 4 | 0 |
| Jack Westover | FB | 1 | 2 | 2.0 | — | 0 | 2 | 0 |
| Ricky Pearsall | WR | 0 | 0 | 0.0 | — | 0 | 0 | 0 |
Receiving
| Player | Pos | REC | YDS | YPR | YAC | TD | LNG | DROP |
|---|---|---|---|---|---|---|---|---|
| Courtland Sutton | WR | 7 | 66 | 9.4 | 14 | 1 | 18 | 0 |
| Ricky Pearsall | WR | 6 | 61 | 10.2 | 19 | 1 | 13 | 0 |
| Jaylen Waddle | WR | 5 | 48 | 9.6 | 10 | 0 | 22 | 0 |
| Christian Kirk | WR | 2 | 23 | 11.5 | 6 | 0 | 13 | 0 |
| Mike Evans | WR | 2 | 21 | 10.5 | — | 0 | 18 | 0 |
| Troy Franklin | WR | 2 | 18 | 9.0 | 9 | 0 | 14 | 0 |
| De'Zhaun Stribling | WR | 1 | 14 | 14.0 | 7 | 0 | 14 | 0 |
| George Kittle | TE | 3 | 12 | 4.0 | 3 | 0 | 6 | 1 |
| Marvin Mims Jr | WR | 1 | 9 | 9.0 | 5 | 0 | 9 | 0 |
| Jordan James | HB | 1 | 9 | 9.0 | — | 1 | 9 | 0 |
| Jake Tonges | TE | 2 | 6 | 3.0 | — | 0 | 8 | 0 |
| RJ Harvey | HB | 2 | 6 | 3.0 | 10 | 0 | 3 | 0 |
| Evan Engram | TE | 2 | 4 | 2.0 | — | 0 | 3 | 1 |
| Christian McCaffrey | HB | 1 | 1 | 1.0 | — | 0 | 1 | 0 |
| Jack Westover | FB | 0 | 0 | 0.0 | — | 0 | 0 | 1 |
Defense
| Player | Pos | TKL | SACK | INT | FF | PD |
|---|---|---|---|---|---|---|
| Fred Warner | MIKE | 6 | 0.5 | 1 | 0 | 0 |
| Ashtyn Davis | FS | 7 | 0 | 0 | 0 | 0 |
| Jahdae Barron | CB | 7 | 0 | 0 | 0 | 1 |
| Osa Odighizuwa | DT | 4 | 1 | 0 | 0 | 0 |
| Zach Allen | DT | 5 | 0.5 | 0 | 0 | 0 |
| Nahshon Wright | CB | 6 | 0 | 0 | 0 | 0 |
| Renardo Green | CB | 5 | 0 | 0 | 0 | 2 |
| Dre Greenlaw | WILL | 5 | 0 | 0 | 0 | 0 |
| Talanoa Hufanga | SS | 4 | 0.5 | 0 | 0 | 0 |
| Jonathon Cooper | LEDG | 3 | 1 | 0 | 0 | 0 |
| Nick Bosa | LEDG | 1 | 1.5 | 0 | 0 | 0 |
| Shaq Thompson | WILL | 1 | 1.5 | 0 | 0 | 0 |
| Tyler Onyedim | DT | 3 | 0 | 0 | 0 | 0 |
| Nik Bonitto | REDG | 3 | 0 | 0 | 0 | 0 |
| JL Skinner | SS | 3 | 0 | 0 | 0 | 0 |
| Channing Tindall | MIKE | 3 | 0 | 0 | 0 | 0 |
| Alfred Collins | DT | 2 | 0 | 0 | 0 | 0 |
| Upton Stout | CB | 2 | 0 | 0 | 0 | 0 |
| Marques Sigle | SS | 2 | 0 | 0 | 0 | 0 |
| Deommodore Lenoir | CB | 2 | 0 | 0 | 0 | 0 |
| Riley Moss | CB | 1 | 0.5 | 0 | 0 | 0 |
| Jerome Baker | SAM | 2 | 0 | 0 | 0 | 0 |
| Isaiah Bolden | CB | 2 | 0 | 0 | 0 | 0 |
| Romello Height | LEDG | 1 | 0 | 0 | 0 | 0 |
| Tatum Bethune | MIKE | 1 | 0 | 0 | 0 | 0 |
| Darrick Forrest | FS | 1 | 0 | 0 | 0 | 0 |
| Pat Surtain II | CB | 1 | 0 | 0 | 0 | 0 |
| Ja'Quan McMillian | CB | 1 | 0 | 0 | 0 | 0 |
| Elandon Roberts | MIKE | 1 | 0 | 0 | 0 | 0 |
Kicking
| Player | Pos | FGM | FGA | XPM | LNG |
|---|---|---|---|---|---|
| Eddy Pineiro | K | 3 | 3 | 2 | 50 |
| Wil Lutz | K | 0 | 0 | 2 | 0 |

