2025
Week 3 · Sunday 4:25 PM ET · Levi's Stadium
Cardinals offensevs49ers defense
Season numbers through Week 22: 17 games for Cardinals, 19 for 49ers. Ranks are out of 32; #1 is the best offense or the stingiest defense.
The 49ers won 16–15 from as low as 15% (Q4 2:18, down 15–13). The game turned for good at Q4 1:08: M.Jones pass short right to K.Bourne to ARI 47 for 7 yards (J.Thompson) (47% → 51%). The biggest single swing came at Q4 0:04, 46 points for the 49ers.
The plays that swung it
- 1Q4 0:04SFE.Pineiro 35 yard field goal is GOOD54% → 100%
- 2Q4 3:26ARIM.Jones sacked at SF 6 for 0 yards (Ma.Wilson). PENALTY on SF-D.Puni, Offensive Holding, 6 yards, enforced in End Zone, SAFETY - No Play.49% → 73%
- 3Q4 5:19ARIM.Jones pass short right intended for R.Pearsall INTERCEPTED by D.Taylor-Demerson at ARI 21. D.Taylor-Demerson to ARI 39 for 18 yards (T.Williams).34% → 58%
- 4Q4 12:06SFM.Jones pass deep right to R.Pearsall pushed ob at ARI 6 for 34 yards (K.Clark).58% → 75%
- 5Q4 1:54SFB.Gillikin punts 50 yards to end zone, Touchback.25% → 42%
- ★Q4 1:08SFM.Jones pass short right to K.Bourne to ARI 47 for 7 yards (J.Thompson).turning point47% → 51%
Win probability is nflverse's model, which starts from the betting line and updates before every snap with the score, the clock, down, distance, field position and timeouts. A swing is the change in one team's chance across a play, in percentage points. The turning point is the play after which the winner never fell to 50% again.
M.Wilson led the Cardinals at +2.4 EPA (1 catches for 5). R.Pearsall led the 49ers at +4.0 EPA (8 catches for 117).
Cardinals
| Passing | C/A | Yds | TD | INT | Sk | EPA |
|---|---|---|---|---|---|---|
| K.Murray100% | 22/35 | 159 | 1 | 1 | -0.6 |
| Rushing | Car | Share | Yds | TD | EPA |
|---|---|---|---|---|---|
| T.Benson61% | 10 | 36% | 42 | -0.5 | |
| J.Conner30% | 9 | 32% | 22 | +0.3 | |
| K.Murray100% | 6 | 21% | 37 | +2.6 | |
| E.Demercado11% | 2 | 7% | 0 | -2.5 | |
| G.Dortch24% | 1 | 4% | 5 | +0.0 |
| Receiving | Tgt | Share | Rec | Yds | TD | EPA |
|---|---|---|---|---|---|---|
| T.McBride88% | 8 | 24% | 5 | 43 | 1 | +0.7 |
| M.Jr.80% | 6 | 18% | 3 | 44 | +1.9 | |
| J.Conner30% | 4 | 12% | 3 | 15 | -0.1 | |
| T.Benson61% | 4 | 12% | 3 | 9 | -3.1 | |
| Z.Jones50% | 3 | 9% | 2 | 25 | +1.9 | |
| T.Reiman50% | 3 | 9% | 2 | 8 | -0.6 | |
| G.Dortch24% | 2 | 6% | 2 | 3 | -1.0 | |
| M.Wilson74% | 2 | 6% | 1 | 5 | +2.4 | |
| E.Demercado11% | 1 | 3% | 0 | 0 | -1.2 | |
| E.Higgins15% | 1 | 3% | 1 | 7 | +1.1 |
Defense D.Taylor-Demerson 1 INT, J.Sweat 1 sack · Kicking C.Ryland 2/3 FG (long 34)
49ers
| Passing | C/A | Yds | TD | INT | Sk | EPA |
|---|---|---|---|---|---|---|
| M.Jones100% | 27/41 | 284 | 1 | 1 | 1 | +1.5 |
| Rushing | Car | Share | Yds | TD | EPA |
|---|---|---|---|---|---|
| C.McCaffrey91% | 17 | 85% | 52 | -6.0 | |
| B.Robinson9% | 2 | 10% | 22 | +1.1 | |
| M.Jones100% | 1 | 5% | -1 | +0.2 |
| Receiving | Tgt | Share | Rec | Yds | TD | EPA |
|---|---|---|---|---|---|---|
| C.McCaffrey91% | 15 | 39% | 10 | 88 | -2.2 | |
| R.Pearsall97% | 11 | 29% | 8 | 117 | +4.0 | |
| K.Bourne72% | 6 | 16% | 4 | 38 | +0.1 | |
| J.Tonges69% | 3 | 8% | 2 | 21 | +0.7 | |
| K.Juszczyk34% | 1 | 3% | 1 | 1 | 1 | +0.8 |
| M.Valdes-Scantling26% | 1 | 3% | 1 | 9 | +0.8 | |
| S.Moore52% | 1 | 3% | 1 | 10 | +0.2 |
Defense B.Huff 1 sack · Kicking E.Pineiro 3/3 FG (long 51)
Each player's line for this game from nflverse's weekly stats; the percentage beside his name is his share of the offense's snaps. Share is his part of the team's carries or targets in this game. Defense lists sacks and interceptions; kicking lists field goals.
Tight ends feast
49ers give up 8.1 targets a game to tight ends (23rd), against a league average of 7.3. Cardinals' tight ends produce 12.8 (1st).
Deep middle is open
49ers are worst against deep middle throws, allowing +1.29 EPA per attempt. Cardinals send 3% of their throws there. That is a small part of their offense so far.
Nowhere to run
Cardinals' run game is 29th in EPA per carry (-0.11). 49ers allow -0.02 (23rd).
Yards per play
Call this one even. Cardinals gain 5.2 yards per play (23rd). 49ers give up 5.6 (21st), with the league at 5.4.
The 49ers lead the series 29–22 since 1999. They have won the last 3. Sep 27, 2026, at Levi's Stadium: the 49ers won 36–30. Brock Purdy started at quarterback for the 49ers and Jacoby Brissett for the Cardinals; Kyle Shanahan and Jonathan Gannon coached.
The last 5
| 2026 · Wk 3 | ARI 30 at SF 36 |
| 2025 · Wk 11 | SF 41 at ARI 22 |
| 2025 · Wk 3 | ARI 15 at SF 16 |
| 2024 · Wk 18 | SF 24 at ARI 47 |
| 2024 · Wk 5 | ARI 24 at SF 23 |
2025 records
| Cardinals | 49ers | |
|---|---|---|
| Overall | 3–14 | 12–5 |
| Division | 0–6 | 4–2 |
| Conference | 3–9 | 9–3 |
| Other conference | 0–5 | 3–2 |
| Home | 1–7 | 5–3 |
| Away | 2–7 | 7–2 |
| Last 5 | LLLLL | WWWWL |
| Streak | Lost 9 | Lost 1 |
| Points a game | 20.9 – 28.7 | 25.7 – 21.8 |
Every meeting since 1999, regular season and playoffs, from nflverse's game list, which starts in 1999; the all-time series goes back further. Franchises that moved count as one team (the Raiders, Chargers and Rams). Home and away are from the Cardinals' side. Records are this regular season.
| Stat | Favors ARI · Favors SF | NFL avg | ||
|---|---|---|---|---|
| Overall | ||||
| EPA per play | -0.02#22 | +0.07#24 | +0.01 | |
| Success rate | 43%#21 | 49%#30 | 44% | |
| Yards per play | 5.2#23 | 5.6#21 | 5.4 | |
| Explosive play rate | 8%#29 | 8%#4 | 10% | |
| Passing | ||||
| Pass EPA per dropback | +0.00#15 | +0.11#25 | +0.01 | |
| Sack rate | 8%#23 | 4%#32 | 7% | |
| Running | ||||
| Run EPA per carry | -0.11#29 | -0.02#23 | -0.05 | |
| Yards per carry | 4.0#24 | 4.4#22 | 4.3 | |
| Money downs | ||||
| 3rd down conversion | 43%#9 | 41%#18 | 40% | |
| Red zone TD rate | 57%#22 | 59%#20 | 59% | |
| Targets by position | ||||
| WR yards per game | 125#23 | 144#19 | 140 | |
| TE yards per game | 93#1 | 53#17 | 53 | |
| TE targets per game | 12.8#1 | 8.1#23 | 7.3 | |
| RB receiving yards per game | 38#6 | 35#23 | 32 | |
Cardinals: EPA per throw
49ers: EPA allowed per throw
Green gains more than expected, red loses value. Cells with fewer than 5 throws are grayed out.