2025 Week 12 · Mon, Nov 24, 2025 · Levi's Stadium
Carolina Panthers
9
San Francisco 49ersWinner
20
San Francisco 49ers 20–9. Biggest swing: Q1 1:28, CAR +13% win probability on one snap.
The game in one curve — scrub to replay it
Win probability
(1:28) 74-J.Curhan reported in as eligible. 9-B.Young pass short right intended for 84-M.Evans INTERCEPTED by 27-J.Brown at SF -8. Touchback.
Highest-leverage plays
- Q1 · 1:28CAR +13% win prob(1:28) 74-J.Curhan reported in as eligible. 9-B.Young pass short right intended for 84-M.Evans INTERCEPTED by 27-J.Brown at SF -8. Touchback.
- Q2 · 6:27CAR +10% win prob(6:27) 13-B.Purdy pass deep middle intended for 1-R.Pearsall INTERCEPTED by 8-Ja.Horn at CAR 45. 8-Ja.Horn ran ob at SF 33 for 22 yards (68-C.McKivitz).
- Q1 · 3:40CAR +9% win prob(3:40) 13-B.Purdy pass deep middle intended for 15-J.Jennings INTERCEPTED by 8-Ja.Horn at SF 30. 8-Ja.Horn to SF 16 for 14 yards (44-K.Juszczyk).
- Q1 · 2:08SF +6% win prob(2:08) (Shotgun) 9-B.Young scrambles right end to SF 1 for 7 yards (6-M.Mustapha).
How the points landed
Scoring summary
- Q1 · 6:23SF Touchdown
(6:23) (Shotgun) 13-B.Purdy pass short middle to 15-J.Jennings for 12 yards, TOUCHDOWN. (kick good)
Score after this play: CAR 0 — SF 7 - Q2 · 2:32CAR Field goal
(2:32) 10-R.Fitzgerald 25 yard field goal is GOOD, Center-44-J.Jansen, Holder-6-S.Martin.
Score after this play: CAR 3 — SF 7 - Q2 · 1:04SF Field goal
(1:04) 14-M.Gay 47 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: CAR 3 — SF 10 - Q3 · 4:47SF Touchdown
(4:47) 23-C.McCaffrey left end for 12 yards, TOUCHDOWN. ** Injury Update: CAR-94-A.Robinson has returned to the game. (kick good)
Score after this play: CAR 3 — SF 17 - Q3 · 0:55CAR Touchdown
(:55) (Shotgun) 9-B.Young pass deep middle to 4-T.McMillan for 29 yards, TOUCHDOWN.
Score after this play: CAR 9 — SF 17 - Q4 · 9:25SF Field goal
(9:25) 14-M.Gay 29 yard field goal is GOOD, Center-46-J.Weeks, Holder-7-T.Morstead.
Score after this play: CAR 9 — SF 20
Down-to-down truth
Situational splits
| Metric | Panthers | 49ers |
|---|---|---|
| Offensive plays | 44 | 68 |
| Total yards | 230 | 342 (edge) |
| Yards per play | 5.2 (edge) | 5.0 |
| Expected points added / play | -0.20 | -0.00 (edge) |
| Success rate | 41% | 46% (edge) |
| Dropback rate | 80% | 49% |
| Dropback efficiency (EPA/play) | -0.26 | -0.06 (edge) |
| Rush efficiency (EPA/play) | 0.02 | 0.06 (edge) |
| Third downs | 1/7 | 7/13 (edge) |
| Red-zone trips → TDs | 0 → 0 | 0 → 0 |
| Explosive plays (10+ rush / 20+ pass) | 3 | 4 (edge) |
| First downs gained on snaps | 13 | 22 (edge) |
| Sacks taken | 1 | 0 (edge) |
| Turnovers | 2 (edge) | 3 |
49ers won the down-to-down efficiency fight: -0.00 expected points added per play vs -0.20.
Who moved the needle
Top performers
Passing · SF
23/32, 193 yds, 1 TD, 3 INT
-3.2 expected points added · +1.5% completion over expected
Passing · CAR
18/29, 169 yds, 1 TD, 2 INT
-10.0 expected points added · -2.6% completion over expected
Receiving · SF
7/7 for 53 yds, 0 TD
22% of team targets · 2.2 expected points added
Possession by possession
Drive chart
| # | Team | Start | Plays | Scrim yds | Clock | Result | |
|---|---|---|---|---|---|---|---|
| 1 | SF | SF 28 | 17 | 72 | 8:43 | Touchdown +7 | |
| 2 | CAR | CAR 35 | 5 | 17 | 2:37 | Punt | |
| 3 | SF | SF 8 | 1 | 0 | 0:11 | Interception | |
| 4 | CAR | SF 16 | 4 | 15 | 2:07 | Interception | |
| 5 | SF | SF 20 | 12 | 52 | 6:47 | Interception | |
| 6 | CAR | CAR 20 | 4 | 8 | 1:35 | Punt | |
| 7 | SF | SF 17 | 3 | 3 | 1:41 | Interception | |
| 8 | CAR | SF 33 | 7 | 26 | 3:51 | Field goal +3 | |
| 9 | SF | SF 46 | 7 | 25 | 1:28 | Field goal +3 | |
| 10 | CAR | CAR 25 | 5 | 6 | 0:43 | Punt | |
| 11 | SF | SF 35 | 3 | 28 | 0:17 | End of half | |
| 12 | CAR | CAR 27 | 6 | 31 | 2:35 | Punt | |
| 13 | SF | SF 20 | 14 | 80 | 7:43 | Touchdown +7 | |
| 14 | CAR | CAR 32 | 10 | 68 | 3:53 | Touchdown +6 | |
| 15 | SF | SF 30 | 11 | 59 | 6:28 | Field goal +3 | |
| 16 | CAR | CAR 35 | 7 | 32 | 2:54 | Interception | |
| 17 | SF | SF 26 | 4 | 11 | 1:43 | Punt | |
| 18 | CAR | CAR 34 | 7 | 27 | 2:03 | Missed field goal | |
| 19 | SF | SF 47 | 6 | 12 | 2:41 | End of game |
6 of 19 drives ended in points. Longest march: 49ers gained 80 scrimmage yards over 14 plays for a touchdown.
Full stat lines
Box score
Carolina Panthers
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Bryce Young | 18/29 | 169 | 1 | 2 | 1 | -10.0 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Rico Dowdle | 6 | 38 | 6.3 | 0 | 1.1 |
| Chuba Hubbard | 3 | 16 | 5.3 | 0 | -0.9 |
| Bryce Young | 4 | 15 | 3.8 | 0 | 1.0 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| Rico Dowdle | 4 | 4 | 36 | 0 | 15% | 0.5 |
| Tetairoa McMillan | 2 | 7 | 35 | 1 | 26% | -4.6 |
| Jalen Coker | 3 | 4 | 32 | 0 | 15% | 1.4 |
| Chuba Hubbard | 4 | 4 | 27 | 0 | 15% | 1.1 |
| Xavier Legette | 3 | 5 | 22 | 0 | 19% | 0.7 |
| Jimmy Horn Jr. | 1 | 1 | 11 | 0 | 4% | 0.7 |
| Ja'Tavion Sanders | 1 | 1 | 6 | 0 | 4% | -0.2 |
| Mitchell Evans | 0 | 1 | 0 | 0 | 4% | -7.3 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Krys Barnes | 3 | 7 | 0.0 | 0 | 0 |
| Nick Scott | 1 | 7 | 0.0 | 0 | 0 |
| Tre'von Moehrig | 4 | 4 | 0.0 | 0 | 0 |
| A'Shawn Robinson | 1 | 6 | 0.0 | 0 | 0 |
| Tershawn Wharton | 2 | 4 | 0.0 | 0 | 0 |
| Bam Martin-Scott | 1 | 5 | 0.0 | 0 | 0 |
| D.J. Wonnum | 1 | 4 | 0.0 | 0 | 0 |
| Lathan Ransom | 1 | 4 | 0.0 | 0 | 0 |
| Mike Jackson | 2 | 2 | 0.0 | 1 | 1 |
| Chau Smith-Wade | 3 | 1 | 0.0 | 0 | 0 |
San Francisco 49ers
Passing
| Player | C/Att | Yds | TD | INT | Sacked | EPA |
|---|---|---|---|---|---|---|
| Brock Purdy | 23/32 | 193 | 1 | 3 | 0 | -3.2 |
Rushing
| Player | Att | Yds | Avg | TD | EPA |
|---|---|---|---|---|---|
| Christian McCaffrey | 24 | 89 | 3.7 | 1 | -1.6 |
| Brian Robinson | 7 | 40 | 5.7 | 0 | 0.0 |
| Brock Purdy | 6 | 16 | 2.7 | 0 | 3.6 |
| Ricky Pearsall | 1 | 2 | 2.0 | 0 | -0.4 |
Receiving
| Player | Rec | Tgt | Yds | TD | Tgt share | EPA |
|---|---|---|---|---|---|---|
| George Kittle | 6 | 10 | 78 | 0 | 31% | 4.1 |
| Christian McCaffrey | 7 | 7 | 53 | 0 | 22% | 2.2 |
| Jauan Jennings | 5 | 7 | 41 | 1 | 22% | -1.0 |
| Demarcus Robinson | 1 | 1 | 8 | 0 | 3% | 0.1 |
| Ricky Pearsall | 2 | 4 | 6 | 0 | 13% | -7.7 |
| Brian Robinson | 1 | 2 | 4 | 0 | 6% | -0.6 |
| Luke Farrell | 1 | 1 | 3 | 0 | 3% | -0.2 |
Defense (top contributors)
| Player | Solo | Ast | Sacks | INT | PD |
|---|---|---|---|---|---|
| Malik Mustapha | 6 | 0 | 0.0 | 0 | 0 |
| Upton Stout | 2 | 4 | 0.0 | 0 | 1 |
| Ji'Ayir Brown | 4 | 1 | 0.0 | 2 | 2 |
| Curtis Robinson | 1 | 2 | 0.0 | 0 | 0 |
| Jordan Elliott | 2 | 1 | 0.0 | 0 | 0 |
| Deommodore Lenoir | 2 | 1 | 0.0 | 0 | 0 |
| Nick Martin | 2 | 0 | 0.0 | 0 | 0 |
| Jason Pinnock | 2 | 0 | 0.0 | 0 | 0 |
| Luke Farrell | 1 | 0 | 0.0 | 0 | 0 |
| Clelin Ferrell | 1 | 0 | 1.0 | 0 | 0 |
Closing number vs result
Betting context
- Closing spread
- SF -7.5
- Closing total
- 48.5
- CAR moneyline
- +310
- SF moneyline
- -395
49ers closed -7.5 and covered, winning by 11.
Total closed 48.5; the game landed 29 — under by 19.5.
Conditions and crew
Game environment
- Venue
- Levi's Stadium
- Roof / surface
- outdoors · grass
- Kickoff weather
- 58°F, wind 3 mph
- Referee
- Alex Kemp
- Rest
- CAR 8 days · SF 8 days
- Coaches
- Dave Canales vs Kyle Shanahan