2025 Week 15 · Sun, Dec 14, 2025 · Levi's Stadium
Tennessee Titans
24
San Francisco 49ersWinner
37
San Francisco 49ers 37–24. Biggest swing: Q1 13:51, SF +4% win probability on one snap.
The game in one curve — scrub to replay it
Win probability
(13:51) (Shotgun) 13-B.Purdy pass short left to 1-R.Pearsall to SF 38 for 8 yards (23-K.Winston).
Highest-leverage plays
- Q1 · 13:51SF +4% win prob(13:51) (Shotgun) 13-B.Purdy pass short left to 1-R.Pearsall to SF 38 for 8 yards (23-K.Winston).
- Q2 · 7:52SF +4% win prob(7:52) (Shotgun) 1-C.Ward pass deep right to 84-G.Helm for 34 yards, TOUCHDOWN.
- Q1 · 13:59SF +3% win prob(13:59) 3-J.Hekker punts 36 yards to SF 30, Center-46-M.Cox, out of bounds.
- Q1 · 14:07TEN +3% win prob(14:07) (Shotgun) 1-C.Ward pass incomplete short right [56-K.White].
How the points landed
Scoring summary
- Q1 · 7:54SF Touchdown
(7:54) (Shotgun) 13-B.Purdy pass short left to 15-J.Jennings for 4 yards, TOUCHDOWN. (kick good)
Score after this play: TEN 0 — SF 7 - Q1 · 1:26TEN Field goal
(1:26) 6-J.Slye 25 yard field goal is GOOD, Center-46-M.Cox, Holder-3-J.Hekker.
Score after this play: TEN 3 — SF 7 - Q2 · 13:07SF Touchdown
(13:07) 23-C.McCaffrey left guard for 1 yard, TOUCHDOWN. Penalty on TEN-53-J.Ward, Defensive Offside, declined. (kick good)
Score after this play: TEN 3 — SF 14 - Q2 · 7:52TEN Touchdown
(7:52) (Shotgun) 1-C.Ward pass deep right to 84-G.Helm for 34 yards, TOUCHDOWN. (kick good)
Score after this play: TEN 10 — SF 14 - Q2 · 1:00SF Field goal
(1:00) 18-E.Pineiro 33 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: TEN 10 — SF 17 - Q3 · 13:00SF Touchdown
(13:00) (Shotgun) 13-B.Purdy pass short right to 15-J.Jennings for 13 yards, TOUCHDOWN. (kick good)
Score after this play: TEN 10 — SF 24 - Q3 · 2:14SF Touchdown
(2:14) (Shotgun) 13-B.Purdy pass short middle to 85-G.Kittle for 1 yard, TOUCHDOWN. (kick good)
Score after this play: TEN 10 — SF 31 - Q4 · 14:25TEN Touchdown
(14:25) 98-J.Simmons reported in as eligible. 1-C.Ward pass short middle to 98-J.Simmons for 1 yard, TOUCHDOWN. (kick good)
Score after this play: TEN 17 — SF 31 - Q4 · 9:32SF Field goal
(9:32) 18-E.Pineiro 37 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: TEN 17 — SF 34 - Q4 · 5:37TEN Touchdown
(5:37) (Shotgun) 20-T.Pollard up the middle for 6 yards, TOUCHDOWN. (kick good)
Score after this play: TEN 24 — SF 34 - Q4 · 1:14SF Field goal
(1:14) 18-E.Pineiro 40 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: TEN 24 — SF 37
Down-to-down truth
Situational splits
| Metric | Titans | 49ers |
|---|---|---|
| Offensive plays | 49 | 70 |
| Total yards | 306 | 430 (edge) |
| Yards per play | 6.2 (edge) | 6.1 |
| Expected points added / play | 0.23 | 0.25 (edge) |
| Success rate | 51% | 53% (edge) |
| Dropback rate | 59% | 53% |
| Dropback efficiency (EPA/play) | 0.06 | 0.53 (edge) |
| Rush efficiency (EPA/play) | 0.48 (edge) | -0.07 |
| Third downs | 3/9 | 9/15 (edge) |
| Red-zone trips → TDs | 0 → 0 | 0 → 0 |
| Explosive plays (10+ rush / 20+ pass) | 5 | 6 (edge) |
| First downs gained on snaps | 17 | 25 (edge) |
| Sacks taken | 0 (edge) | 2 |
| Turnovers | 0 (edge) | 1 |
49ers won the down-to-down efficiency fight: 0.25 expected points added per play vs 0.23.
Who moved the needle
Top performers
Passing · SF
23/30, 295 yds, 3 TD, 0 INT
17.8 expected points added · +20.5% completion over expected
Passing · TEN
Cam WardQB
18/29, 170 yds, 2 TD, 0 INT
1.7 expected points added · -2.7% completion over expected
Possession by possession
Drive chart
| # | Team | Start | Plays | Scrim yds | Clock | Result | |
|---|---|---|---|---|---|---|---|
| 1 | TEN | TEN 30 | 5 | 4 | 1:09 | Punt | |
| 2 | SF | SF 30 | 13 | 70 | 6:03 | Touchdown +7 | |
| 3 | TEN | TEN 30 | 11 | 63 | 6:26 | Field goal +3 | |
| 4 | SF | SF 30 | 9 | 68 | 3:19 | Touchdown +7 | |
| 5 | TEN | TEN 32 | 10 | 83 | 5:20 | Touchdown +7 | |
| 6 | SF | SF 35 | 15 | 41 | 6:47 | Field goal +3 | |
| 7 | TEN | TEN 40 | 9 | 23 | 0:56 | Missed field goal | |
| 8 | SF | SF 33 | 6 | 67 | 2:06 | Touchdown +7 | |
| 9 | TEN | TEN 35 | 5 | 4 | 1:30 | Punt | |
| 10 | SF | SF 5 | 16 | 95 | 9:14 | Touchdown +7 | |
| 11 | TEN | TEN 35 | 5 | 6 | 1:59 | Punt | |
| 12 | SF | SF 44 | 3 | 0 | 0:25 | Fumble | |
| 13 | TEN | SF 44 | 3 | 44 | 0:30 | Touchdown +7 | |
| 14 | SF | SF 40 | 9 | 46 | 4:48 | Field goal +3 | |
| 15 | TEN | TEN 36 | 12 | 64 | 3:55 | Touchdown +7 | |
| 16 | SF | SF 35 | 11 | 43 | 4:23 | Field goal +3 | |
| 17 | TEN | TEN 35 | 5 | 15 | 1:10 | End of game |
11 of 17 drives ended in points. Longest march: 49ers gained 95 scrimmage yards over 16 plays for a touchdown.
Full stat lines
Box score
Tennessee Titans
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Cam Ward | 18/29 | 170 | 2 | 0 | 0 | 1.7 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Tony Pollard | 14 | 104 | 7.4 | 1 | 5.3 |
| Tyjae Spears | 3 | 34 | 11.3 | 0 | 3.5 |
| Kalel Mullings | 1 | 3 | 3.0 | 0 | 0.5 |
| Cam Ward | 1 | 2 | 2.0 | 0 | 1.8 |
| Chimere Dike | 1 | -7 | -7.0 | 0 | -1.5 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| Gunnar Helm | 4 | 4 | 49 | 1 | 15% | 3.2 |
| Van Jefferson | 1 | 5 | 43 | 0 | 19% | 0.9 |
| Chig Okonkwo | 4 | 6 | 33 | 0 | 22% | 0.7 |
| Elic Ayomanor | 1 | 1 | 17 | 0 | 4% | 1.2 |
| Chimere Dike | 4 | 5 | 17 | 0 | 19% | -1.3 |
| Tony Pollard | 1 | 2 | 8 | 0 | 7% | 0.5 |
| Tyjae Spears | 2 | 2 | 2 | 0 | 7% | -1.6 |
| Jeffery Simmons | 1 | 1 | 1 | 1 | 4% | 0.6 |
| James Proche | 0 | 1 | 0 | 0 | 4% | -0.3 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Cedric Gray | 7 | 9 | 0.0 | 0 | 0 |
| Kendell Brooks | 3 | 5 | 0.0 | 0 | 0 |
| Amani Hooker | 5 | 2 | 0.0 | 0 | 1 |
| T'Vondre Sweat | 3 | 4 | 0.0 | 0 | 0 |
| Marcus Harris | 4 | 2 | 0.0 | 0 | 1 |
| Jeffery Simmons | 2 | 3 | 1.0 | 0 | 0 |
| Darrell Baker Jr. | 4 | 1 | 0.0 | 0 | 0 |
| Cody Barton | 1 | 4 | 0.0 | 0 | 0 |
| Jihad Ward | 1 | 2 | 0.0 | 0 | 0 |
| James Williams | 3 | 0 | 0.0 | 0 | 0 |
San Francisco 49ers
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Brock Purdy | 23/30 | 295 | 3 | 0 | 2 | 17.8 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Christian McCaffrey | 22 | 73 | 3.3 | 1 | -2.3 |
| Brock Purdy | 7 | 44 | 6.3 | 0 | 4.2 |
| Brian Robinson | 9 | 21 | 2.3 | 0 | -2.4 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| Ricky Pearsall | 6 | 7 | 96 | 0 | 25% | 8.8 |
| George Kittle | 8 | 9 | 88 | 1 | 32% | 5.4 |
| Jauan Jennings | 3 | 5 | 37 | 2 | 18% | 4.1 |
| Demarcus Robinson | 2 | 2 | 36 | 0 | 7% | 4.0 |
| Kendrick Bourne | 2 | 3 | 17 | 0 | 11% | 0.1 |
| Christian McCaffrey | 1 | 1 | 14 | 0 | 4% | 0.9 |
| Kyle Juszczyk | 1 | 1 | 7 | 0 | 4% | 0.8 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Malik Mustapha | 6 | 4 | 0.0 | 0 | 0 |
| Curtis Robinson | 3 | 4 | 0.0 | 0 | 1 |
| Clelin Ferrell | 2 | 4 | 0.0 | 0 | 0 |
| Dee Winters | 2 | 3 | 0.0 | 0 | 0 |
| Deommodore Lenoir | 1 | 3 | 0.0 | 0 | 0 |
| Renardo Green | 2 | 2 | 0.0 | 0 | 0 |
| Robert Beal Jr. | 1 | 2 | 0.0 | 0 | 0 |
| Jason Pinnock | 1 | 2 | 0.0 | 0 | 0 |
| CJ West | 2 | 0 | 0.0 | 0 | 0 |
| Garret Wallow | 1 | 1 | 0.0 | 0 | 0 |
Closing number vs result
Betting context
- Closing spread
- SF -12.5
- Closing total
- 44.5
- TEN moneyline
- +600
- SF moneyline
- -900
49ers closed -12.5 and covered, winning by 13.
Total closed 44.5; the game landed 61 — over by 16.5.
Conditions and crew
Game environment
- Venue
- Levi's Stadium
- Roof / surface
- outdoors · grass
- Kickoff weather
- 54°F, wind 4 mph
- Referee
- Craig Wrolstad
- Rest
- TEN 7 days · SF 14 days
- Coaches
- Brian Callahan vs Kyle Shanahan