Game recap
Broncos @ 49ers
2026 Wk 4 · SF 24, DEN 14
A Denver return fumble broke a 3-3 tie, and George Kittle's 56-yard catch-and-run sealed it.
The biggest play of the game was a 49ers punt from their own 11.
AnomalyWith the game tied 3-3 midway through the third quarter, Cameron Waitman punted 61 yards from the San Francisco 11. Marvin Mims Jr. fumbled on the return, and Siran Neal forced it and recovered it at the Denver 28. Nine plays later, including a fourth-and-1 conversion by Kaelon Black, Brock Purdy hit Deebo Samuel for a 1 yard touchdown and San Francisco never trailed again.
The five plays that moved San Francisco's win probability most
| Qtr | Clock | Offense | Play | EPA | Win prob. swing |
|---|---|---|---|---|---|
| 3 | 9:52 | SF | Waitman 61 yd punt, Mims fumble, SF recovers at DEN 28 | +6.48 | +20.7 pts |
| 4 | 2:25 | SF | Purdy to Kittle, 56 yd TD | +5.50 | +15.0 pts |
| 1 | 4:23 | DEN | Nix to Mims, 10 yds to SF 33 | +2.07 | -10.1 pts |
| 2 | 14:30 | SF | Purdy QB sneak, 4th and 1 at DEN 34, no gain | -3.54 | -10.0 pts |
| 4 | 4:10 | DEN | Nix to Waddle, 13 yd TD | +2.13 | -8.6 pts |
Why it matters. In a game that sat at 3-3 for most of three quarters, field position was the scarcest resource, and one return fumble handed San Francisco a 28 yard field. The 49ers then needed nine plays and a fourth-down conversion to cover it, which says the Denver defense was holding up; the offense did not win this stretch, the punt team did. By both EPA and win probability, no snap from scrimmage in this game mattered as much.
Courtland Sutton caught 1 of 6 targets for 4 yards, his lowest output in 78 career games with six or more targets.
RareSutton's fewest receiving yards in a game with 6+ targets (regular season)
| Season | Week | Opponent | Targets | Rec | Yards |
|---|---|---|---|---|---|
| 2026 | 4 | SF | 6 | 1 | 4 |
| 2018 | 2 | LV | 6 | 1 | 9 |
| 2021 | 15 | CIN | 7 | 2 | 12 |
| 2018 | 14 | SF | 6 | 2 | 14 |
| 2021 | 13 | KC | 6 | 2 | 15 |
| 2018 | 5 | NYJ | 6 | 2 | 18 |
Denver receiving in this game
| Player | Pos | Targets | Rec | Yards | TD |
|---|---|---|---|---|---|
| RJ Harvey | RB | 10 | 10 | 68 | 0 |
| Jaylen Waddle | WR | 6 | 5 | 35 | 1 |
| Courtland Sutton | WR | 6 | 1 | 4 | 0 |
| Evan Engram | TE | 5 | 1 | 6 | 0 |
| Pat Bryant | WR | 3 | 3 | 47 | 0 |
| Marvin Mims Jr. | WR | 3 | 1 | 10 | 0 |
Why it matters. Bo Nix threw 42 passes for 214 yards, and the distribution shows where those yards could and could not come from. His top outside receiver turned six looks into one 4 yard catch, so the offense leaned on checkdowns: the running back caught 10 balls while Sutton and Evan Engram combined for 2 catches and 10 yards on 11 targets. A low-yield passing day with no sacks and no interceptions usually points to coverage winning downfield rather than protection breaking down.
San Francisco gained 190 yards in the first half and scored 3 points. It scored 21 in the second.
SplitOffense by half (passes and runs only)
| Team | Half | Plays | Yards | EPA/play | Success rate | Points |
|---|---|---|---|---|---|---|
| SF | 1st | 33 | 190 | -0.043 | 45.5% | 3 |
| SF | 2nd | 29 | 170 | +0.305 | 51.7% | 21 |
| DEN | 1st | 33 | 125 | -0.030 | 36.4% | 3 |
| DEN | 2nd | 32 | 173 | +0.211 | 46.9% | 11 |
Where San Francisco's first-half drives stalled
| Qtr | Clock | Situation | Result |
|---|---|---|---|
| 2 | 14:30 | 4th and 1 at DEN 34 | Purdy sneak, no gain, turnover on downs |
| 2 | 1:38 | 4th and 5 | Pineiro 24 yd FG good |
| 2 | 0:04 | 3rd and 5 | Pineiro 54 yd FG blocked by Zach Allen |
Why it matters. The first-half yardage gap (190 to 125) did not show up on the board because San Francisco's two longest chances ended in a failed sneak and a blocked kick. Both offenses then got markedly more efficient after the break, Denver included, so the second half was not a defensive collapse by one side. San Francisco's edge came from turning a short field into seven points and from one long catch-and-run late.
Denver cut it to 17-14 with 4:05 left. Kittle answered with a 56-yard score, 59 of it after the catch.
TrendEvery score
| Qtr | Clock | Team | Play | Score after |
|---|---|---|---|---|
| 1 | 1:48 | DEN | Wil Lutz 52 yd FG | DEN 3, SF 0 |
| 2 | 1:38 | SF | Eddy Pineiro 24 yd FG | 3-3 |
| 3 | 4:22 | SF | Purdy to Samuel, 1 yd TD | SF 10, DEN 3 |
| 4 | 14:12 | DEN | Lutz 40 yd FG | SF 10, DEN 6 |
| 4 | 8:55 | SF | McCaffrey 1 yd TD run | SF 17, DEN 6 |
| 4 | 4:10 | DEN | Nix to Waddle, 13 yd TD, Badie 2-pt run | SF 17, DEN 14 |
| 4 | 2:25 | SF | Purdy to Kittle, 56 yd TD | SF 24, DEN 14 |
Kittle's longest regular-season TD catches
| Season | Week | Game | Yards | Qtr |
|---|---|---|---|---|
| 2018 | 14 | DEN @ SF | 85 | 2 |
| 2018 | 4 | SF @ LAC | 82 | 3 |
| 2023 | 10 | SF @ JAX | 66 | 3 |
| 2019 | 12 | GB @ SF | 61 | 3 |
| 2026 | 4 | DEN @ SF | 56 | 4 |
The answer took five plays, 69 yards, and 1:40 of clock. Kittle caught the ball 3 yards behind scrimmage (air yards -3) and gained 59 after the catch. Denver's last drive reached the SF 40 on a fourth-down catch by Evan Engram, then Lutz missed from 58 yards, wide right, with 1:18 left. Kittle's longest touchdown catch, 85 yards, also came against Denver at Levi's Stadium, in 2018.
Why it matters. Denver's touchdown and two-point run moved its win probability from about 9 percent before the snap to about 21 percent after the conversion, and left the 49ers needing first downs to run out the clock. A screen-type throw that goes the distance ended that question in one snap, swinging win probability by 15 points. It is the fifth-longest touchdown catch of Kittle's career and the only one of his top five to come in a fourth quarter.
RJ Harvey caught all 10 of his targets, the second Broncos running back with 10 catches in a game since 1999.
MilestoneBroncos running backs with 10+ receptions in a regular-season game, 1999 to 2026
| Season | Week | Player | Opponent | Targets | Rec | Yards |
|---|---|---|---|---|---|---|
| 2022 | 1 | Javonte Williams | SEA | 12 | 11 | 65 |
| 2026 | 4 | RJ Harvey | SF | 10 | 10 | 68 |
Every Broncos 10-catch game since 2016, any position
| Season | Week | Player | Pos | Opponent | Rec | Yards |
|---|---|---|---|---|---|---|
| 2016 | 14 | Emmanuel Sanders | WR | TEN | 11 | 100 |
| 2016 | 14 | Demaryius Thomas | WR | TEN | 10 | 126 |
| 2017 | 6 | Demaryius Thomas | WR | NYG | 10 | 133 |
| 2018 | 1 | Emmanuel Sanders | WR | SEA | 10 | 135 |
| 2018 | 9 | Jeff Heuerman | TE | HOU | 10 | 83 |
| 2019 | 2 | Emmanuel Sanders | WR | CHI | 11 | 98 |
| 2022 | 1 | Javonte Williams | RB | SEA | 11 | 65 |
| 2026 | 4 | RJ Harvey | RB | SF | 10 | 68 |
Why it matters. Denver has had 42 regular-season 10-catch games since 1999, counting this one, and 40 of them went to receivers or tight ends. Harvey's day fits the shape of this game: with Sutton held to one catch, Nix's reliable option was underneath, and Harvey caught every ball thrown his way. It is also the first Broncos 10-catch game by anyone since Javonte Williams in 2022.
The home team has now won five straight Broncos and 49ers meetings, and San Francisco is 4-0.
MilestoneEvery Broncos vs 49ers game since 1999
| Season | Week | Away | Home | Score | Winner |
|---|---|---|---|---|---|
| 2000 | 17 | SF | DEN | DEN 38, SF 9 | Home |
| 2002 | 2 | DEN | SF | DEN 24, SF 14 | Away |
| 2006 | 17 | SF | DEN | SF 26, DEN 23 | Away |
| 2010 | 8 | DEN | SF | SF 24, DEN 16 | Home |
| 2014 | 7 | SF | DEN | DEN 42, SF 17 | Home |
| 2018 | 14 | DEN | SF | SF 20, DEN 14 | Home |
| 2022 | 3 | SF | DEN | DEN 11, SF 10 | Home |
| 2026 | 4 | DEN | SF | SF 24, DEN 14 | Home |
2026 results so far
| Team | Week 1 | Week 2 | Week 3 | Week 4 | Record |
|---|---|---|---|---|---|
| SF | W 27-7 at LA | W 35-13 vs MIA | W 36-30 vs ARI | W 24-14 vs DEN | 4-0 |
| DEN | L 10-31 at KC | W 20-13 vs JAX | W 30-26 vs LA | L 14-24 at SF | 2-2 |
Why it matters. These teams meet once every four years, so the series is a set of snapshots more than a rivalry, but the pattern is clean: Denver's last win in Santa Clara or San Francisco came in 2002. For the 49ers, a fourth straight win to open the season came against the first opponent to hold them under 27 points this year.
FanIQ answers any NFL stats question with receipts, on your phone.
Get FanIQ freeGet it on Google Play