Arizona Cardinals at San Francisco 49ers, NFL forecast
Win probability
Starts from the pregame forecast, then moves with every score and the time left. Above the line favors SF; hover for each play.
Game center
From the ESPN box score.
Top performers
- Jacoby BrissettPassing38/52, 280 YDS, 2 TD
- Jeremiyah LoveRushing21 CAR, 90 YDS
- Michael WilsonReceiving11 REC, 89 YDS, 1 TD
- Brock PurdyPassing15/27, 297 YDS, 4 TD
- Christian McCaffreyRushing15 CAR, 75 YDS, 1 TD
- George KittleReceiving6 REC, 82 YDS, 2 TD
Scoring summary
- Q40:34
Chad Ryland 49 Yd Field Goal30–36 - Q41:31
George Kittle 20 Yd pass from Brock Purdy (Eddy Pineiro Kick)27–36 - Q42:51
Jacoby Brissett 1 Yd Rush (Chad Ryland Kick)27–29 - Q48:42
George Kittle 10 Yd pass from Brock Purdy (Eddy Pineiro PAT Failed)20–29 - Q413:06
Jeremiyah Love 1 Yd pass from Jacoby Brissett (Chad Ryland Kick)20–23 - Q33:02
Michael Wilson 5 Yd pass from Jacoby Brissett (Chad Ryland Kick)13–23 - Q311:07
Christian McCaffrey 1 Yd Rush (Eddy Pineiro PAT Failed)6–23 - Q20:00
Eddy Pineiro 57 Yd Field Goal6–17 - Q20:23
Chad Ryland 41 Yd Field Goal6–14 - Q23:03
Chad Ryland 26 Yd Field Goal3–14 - Q214:55
Mike Evans 23 Yd pass from Brock Purdy (Eddy Pineiro Kick)0–14 - Q18:26
Brock Purdy complete pass to Mike Evans for 2 yards, lateral to Deebo Samuel for 80 yards (Eddy Pineiro Kick)0–7
Turning points
The 5 plays that swung the win chance most, each judged at its own moment: the chance with the score just before it against just after.
- Q18:26
Brock Purdy complete pass to Mike Evans for 2 yards, lateral to Deebo Samuel for 80 yards (Eddy Pineiro Kick)ARI 0 – 7 SF · SF 76% → 88% +12SF 76% → 88%+12 pts - Q413:06
Jeremiyah Love 1 Yd pass from Jacoby Brissett (Chad Ryland Kick)ARI 20 – 23 SF · ARI 5% → 23% +18ARI 5% → 23%+18 pts - Q48:42
George Kittle 10 Yd pass from Brock Purdy (Eddy Pineiro PAT Failed)ARI 20 – 29 SF · SF 78% → 96% +18SF 78% → 96%+18 pts - Q42:51
Jacoby Brissett 1 Yd Rush (Chad Ryland Kick)ARI 27 – 29 SF · ARI <1% → 23% +23ARI <1% → 23%+23 pts - Q41:31
George Kittle 20 Yd pass from Brock Purdy (Eddy Pineiro Kick)ARI 27 – 36 SF · SF 82% → >99% +18SF 82% → >99%+18 pts
The pick
Reconstructed from what was known before the game: the ratings at that point and the closing line.
49ers 77%
Forecast Elo ratings alone
How often that comes true: NFL favorites the forecast gave 75–80% have won 69.3% of 75 graded games.
- Market
- SF -7.5
- ML ARI +310 / SF -395
- Pre-line forecast
- SF 82%
- Elo + market-implied
- Elo ratings
- SF -10.5
- SF 82%
- Ratings vs. market
- +5.7 pts
- SF: Elo 82.3%, market 76.6%
- Fair odds
- SF -336
- ARI +336 · the forecast as odds, no margin
- Pregame projection
- ARI 20.5 – 28.0 SF
- Posted spread, posted total 48.5
How the number is built
Elo inputs in rating points (higher favors that team; 25–28 Elo is about a point of spread in football and basketball), then how the pieces combine.
| Factor | ARI | SF | Why |
|---|---|---|---|
| Team rating | 1416 | 1610 | Elo entering the game; 1500 is league average |
| Home field | — | +36 | Worth 36 Elo in the NFL |
| Quarterbacks | −7 | +30 | ARI: Jacoby Brissett · SF: Brock Purdy (against each team's recent starters, from the box score) |
| Elo ratings | SF +267 Elo | SF 82.3% | |
| Market-implied ratings | SF 80.2% | Team strength as past closing lines priced it, same game context | |
| Pre-line forecast | SF 81.8% | 75% Elo, 25% market-implied (log-odds blend) | |
| Forecast | SF 77.1% | 93% market, 8% Elo | |
Tale of the tape
Last season (2025) coming into the game, regular season, each number with its league rank (the longer the bar, the higher). Home and road: the host's record at home against the visitor's on the road. Opponent Elo: how strong the teams each has played are, 1st the toughest. Yards per play counts passes, sacks and runs, with sack yardage taken off.
| ARI | Stat | |
|---|---|---|
| 23rd of 3220.9 | Points scored | 25.710th of 32 |
| 29th of 3228.7 | Points allowed | 21.813th of 32 |
| 29th of 32−7.8 | Margin | +3.99th of 32 |
| 22nd of 325.16 | Yards per play | 5.5211th of 32 |
| 22nd of 325.57 | Yards allowed per play | 5.6324th of 32 |
| 31st of 321–9 | Last 10 | 7–36th of 32 |
| 28th of 322–7 | Road vs home | 5–39th of 32 |
| 2nd of 321522 | Opponent Elo | 150018th of 32 |
| 27th of 321416 | Elo rating | 16105th of 32 |
Rating history
Each team's Elo over the last two seasons. Hover or drag to compare on any date.
Recent form
Last five results, and whether the forecast hit.
Against the line
How each team has done against the closing spread and total, coming into this game.
| Last season (2025) | ||
|---|---|---|
| Against the spread | 6–11 | 11–8 |
| Last 10 | 2–8 | 6–4 |
| Favorite | 1–2 | 8–3 |
| Underdog | 5–9 | 3–5 |
| Overs–unders | 10–7 | 11–8 |
| Overs–unders, last 10 | 6–4 | 6–4 |
Against each game's closing line. Books set every line knowing these records: across 3,901 past games, the team with the better record against the spread so far that season covered 51.2%, short of the 52.4% a standard −110 bet needs, and over/under streaks held 48.0% of the time. They describe the past.
Head to head
ARI 2–4 SF in their last 6 meetings; the forecast called 5 of 6.



