Week 3 2025 · September 21, 2025
Cardinals at 49ers, Week 3 2025: who deserved to win?
The 49ers beat the Cardinals 16–15, and it was no fluke: replayed with the way both teams actually played, the 49ers win 9 of 10. The Cardinals had the bounces: injuries alone were worth 8.7 points to the Cardinals.
An off day for the Cardinals: their offense played far below its usual level. In a fresh game against the 49ers they would win 45% of the time; with this day’s form, 14%. The numbers
Before kickoff the 49ers were 54% favorites. The biggest swing (Q4, 0:04 left): E. Pineiro made 35-yard field goal, worth 34 points of win probability to the 49ers.
Final
| 15 | |
| 16 |
Replay with same day's form
Luck index +14 49ers about even · −14 Cardinals
Each team’s own plays from this game, resampled into new drives 4,000 times: with the way both teams actually played, how often does this performance win? How the replay works
Ten replays. Cardinals win 1, 49ers win 9.
- 1 ARI 23 SF 16
- 2 ARI 29 SF 31
- 3 ARI 19 SF 24
- 4 ARI 13 SF 20
- 5 ARI 17 SF 27
- 6 ARI 0 SF 12
- 7 ARI 6 SF 20
- 8 ARI 0 SF 18
- 9 ARI 7 SF 29
- 10 ARI 6 SF 35
Three other ways to ask
Each answers a different question, so none of them replaces the replay above.
Before kickoff
The closing betting line, turned into a probability. What everyone knew before the game.
Same teams, fresh game
The line plus what this game showed, weighted by how much one game can tell. It stays close to the line because one game says little.
Only coin-flips re-rolled
Every kick, fumble bounce, drop, conversion and judgment call redrawn; everything else fixed. The narrowest view of luck.
An off day for the Cardinals
Their offense played far below its usual level. In a fresh game against the 49ers they would win 45% of the time; with this day’s form, 14%.
Same teams, fresh game
Replay with same day's form
31 points apart for the Cardinals: the gap is how differently this game went from what the two teams usually are.
| Unit | This game | Usual level | Better or worse than usual |
|---|---|---|---|
| Cardinals offenseEPA per play gained | −0.01 | +0.12 | worse by 0.13 |
| Cardinals defenseEPA per play allowed | +0.01 | +0.09 | better by 0.08 |
| 49ers offenseEPA per play gained | +0.01 | +0.16 | worse by 0.15 |
| 49ers defenseEPA per play allowed | −0.01 | +0.08 | better by 0.09 |
EPA (expected points added) per play on competitive snaps, turnovers left out because they are valued as luck. Usual level: the team’s earlier games this season plus half of last season, pulled toward the league average. One team’s defense and the other team’s offense are the same snaps, so one game can’t fully say whose day it was; it shows how far this one was from both teams’ norms.
How 4,000 replays ended
Cardinals win 13% of them, 49ers 87%, counting the 2% still level after regulation as half each. The line is what actually happened: 49ers by 1.
Show as a table
| Final margin in the replays | Share of replays |
|---|---|
| Cardinals by 17+ | 0.7% |
| Cardinals by 9–16 | 3.0% |
| Cardinals by 1–8 | 8.3% |
| Level after regulation | 1.8% |
| 49ers by 1–8 | 21.6% |
| 49ers by 9–16 | 26.1% |
| 49ers by 17+ | 38.5% |
Where the luck was
Take the luck out
The final margin was 49ers by 1. Remove the luck, one kind at a time, and it becomes 49ers by 16.0.
The kicks
How likely each kicker was to make that kick (his own record, the distance and the weather), and what happened.
- C. Ryland, 57 yds missed · 56% expected
- C. Ryland, 34 yds made · 92% expected
- E. Pineiro, 38 yds made · 90% expected
- E. Pineiro, 51 yds made · 72% expected
- C. Ryland, 28 yds made · 96% expected
- E. Pineiro, 35 yds made · 93% expected
When it happened
49ers’ chance of winning
As low as 14% and as high as 100%. Numbers mark the biggest luck moments, listed below.
| # | When | What happened | Win probability for | Next drive |
|---|---|---|---|---|
| 1 | Q3 9:16 | The Cardinals converted 4th & 43rd & 4th downs · 45% expected | +13% ARI | ARI: Field goal |
| 2 | Q3 6:43 | The Cardinals were stopped on 3rd & 53rd & 4th downs · 33% expectedE. Demercado dropped a catchable passDrops · 2 drops on 39 catchable balls before this | +14% SF | ARI: Field goal |
| 3 | Q4 14:22 | The Cardinals were stopped on 3rd & 13rd & 4th downs · 74% expectedIntentional Grounding on the Cardinals (Kyler Murray), 10 yardsJudgment calls · 9 flags in 5547 snaps before, position avg 1 per 625 | +14% SF | ARI: Punt |
| 4 | Q4 12:06 | The 49ers converted 4th & 23rd & 4th downs · 62% expected | +17% SF | SF: Touchdown |
| 5 | Q4 9:29 | Defensive Pass Interference on the 49ers (Renardo Green), 33 yardsJudgment calls · 3 flags in 876 snaps before, position avg 1 per 213 | +19% ARI | ARI: Touchdown |
| 6 | Q4 5:19 | The 49ers were stopped on 3rd & 53rd & 4th downs · 43% expectedThe 49ers threw an interception-worthy pass, and it was pickedInterceptions · 49% expected to stay out of the defense's hands | +18% ARI | SF: Safety |
| 7 | Q4 3:26 | Offensive Holding on the 49ers, 6 yardsJudgment calls | +23% ARI | ARI: Punt |
| 8 | Q4 0:04 | E. Pineiro made 35-yard field goalKicks · 93% expected for him | +34% SF | – |
Missing players
Key players (usually on the field for half the snaps or more) who missed this game or part of it, valued by position and quality. The same players are missing in every replay, so this counts as luck in points only.
- Brock Purdy (SF QB), out, replaced by m.jones · 8.3 pts
- George Kittle (SF TE), out (IR) · 1.1 pts
- Jauan Jennings (SF WR), out · 0.6 pts
- Malik Mustapha (SF FS), out (IR) · 0.4 pts
- Ben Bartch (SF OL), out (IR) · 0.1 pts
- Ben Bartch (SF G), out (IR) · 0.1 pts
- Sean Murphy-Bunting (ARI CB), out (IR) · 0.7 pts
- Garrett Williams (ARI CB), out (IR) · 0.5 pts
- Will Johnson (ARI CB), out · 0.3 pts
- Christian Jones (ARI T), out (IR) · 0.2 pts
- L.J. Collier (ARI DT), out (IR) · 0.1 pts
Adjust the assumptions
Disagree with how much of a fumble bounce or a pass interference call is luck? Change it and the coin-flip replay reruns in your browser.
Only coin-flips re-rolled
Cardinals 16% · 49ers 84%
- Final margin
- 49ers by 1
- Luck in points
- 15.0 for the Cardinals
- Luck-adjusted margin
- 49ers by 16.0
- Replay with same day's form
- Cardinals 13% · 49ers 87% unchanged: why
About these numbers
Play-by-play and win probability from nflfastR via nflverse; kicks valued against each kicker’s own record; drops and interception-worthy throws from FTN charting; injuries from snap counts and injury reports.
Methodology and validation · All Week 3 2025 games ·
Cardinals ·
49ers
More from Week 3 2025
- Dolphins at Bills BUF 31–21 · replay 88% for the winner
- Falcons at Panthers CAR 30–0 · replay 50% for the winner
- Bengals at Vikings MIN 48–10 · replay 98% for the winner
- Packers at Browns CLE 13–10 · replay 18% for the winner
- Texans at Jaguars JAX 17–10 · replay 82% for the winner
- Colts at Titans IND 41–20 · replay 89% for the winner
- Rams at Eagles PHI 33–26 · replay 13% for the winner
- Raiders at Commanders WAS 41–24 · replay 81% for the winner
- Jets at Buccaneers TB 29–27 · replay 63% for the winner
- Steelers at Patriots PIT 21–14 · replay 62% for the winner
- Broncos at Chargers LAC 23–20 · replay 85% for the winner
- Saints at Seahawks SEA 44–13 · replay 90% for the winner
- Cowboys at Bears CHI 31–14 · replay 50% for the winner
- Chiefs at Giants KC 22–9 · replay 63% for the winner
- Lions at Ravens DET 38–30 · replay 63% for the winner