Carolina PanthersPanthers6-6
9FinalNov 24, 2025
San Francisco 49ers49ers8-4
20TVESPN
Closing line
US sportsbook at kickoffSpread
CAR +7+100
SF −7−120
Total O/U
Over 48.5−115
Under 48.5−115
- Spread: 49ers −7 covered.
- Total O/U: under 48.5 (29 points).
Recap
The San Francisco 49ers beat the Carolina Panthers 20-9 at Levi's Stadium in Santa Clara on Nov 24, 2025 to move to 8-4.
The game was played before 71,337.
Score by quarter
| Team | 1 | 2 | 3 | 4 | T |
|---|---|---|---|---|---|
| CAR | 0 | 3 | 6 | 0 | 9 |
| SF | 7 | 3 | 7 | 3 | 20 |
Scoring plays
First Quarter
- SFTouchdown · 6:17Jauan Jennings 12 Yd pass from Brock Purdy (Matt Gay Kick)0-7
Second Quarter
- CARField Goal · 2:28Ryan Fitzgerald 25 Yd Field Goal3-7
- SFField Goal · 1:00Matt Gay 47 Yd Field Goal3-10
Third Quarter
- SFTouchdown · 4:42Christian McCaffrey 12 Yd Rush (Matt Gay Kick)3-17
- CARTouchdown · 0:49Tetairoa McMillan 29 Yd pass from Bryce Young (Two-Point Pass Conversion Failed)9-17
Fourth Quarter
- SFField Goal · 9:21Matt Gay 29 Yd Field Goal9-20
Team stats
CARSF
- 1st Downs
- 12
- 23
- Total Yards
- 230
- 340
- Passing
- 161
- 193
- Rushing
- 69
- 147
- 3rd down efficiency
- 1-7
- 7-13
- Turnovers
- 2
- 3
- Possession
- 22:18
- 37:42
Top performers
Carolina PanthersSan Francisco 49ers
Passing
Bryce Young18/29, 169 YDS, 1 TD, 2 INT
Brock Purdy23/32, 193 YDS, 1 TD, 3 INT
Rushing
Rico Dowdle6 CAR, 38 YDS
Christian McCaffrey24 CAR, 89 YDS, 1 TD
Receiving
Rico Dowdle4 REC, 36 YDS
George Kittle6 REC, 78 YDS
Sacks
–
Clelin Ferrell1
Tackles
Krys Barnes10
Malik Mustapha7
Player stats
Panthers · Passing
| Player | C/ATT | YDS | AVG | TD | INT | SACKS | QBR | RTG |
|---|---|---|---|---|---|---|---|---|
| Bryce Young | 18/29 | 169 | 5.8 | 1 | 2 | 1-8 | 14.2 | 60.8 |
Panthers · Rushing
| Player | CAR | YDS | AVG | TD | LONG |
|---|---|---|---|---|---|
| Rico Dowdle | 6 | 38 | 6.3 | 0 | 17 |
| Chuba Hubbard | 3 | 16 | 5.3 | 0 | 10 |
| Bryce Young | 4 | 15 | 3.8 | 0 | 7 |
Panthers · Receiving
| Player | REC | YDS | AVG | TD | LONG | TGTS |
|---|---|---|---|---|---|---|
| Rico Dowdle | 4 | 36 | 9.0 | 0 | 12 | 4 |
| Tetairoa McMillan | 2 | 35 | 17.5 | 1 | 29 | 7 |
| Jalen Coker | 3 | 32 | 10.7 | 0 | 18 | 4 |
| Chuba Hubbard | 4 | 27 | 6.8 | 0 | 14 | 4 |
| Xavier Legette | 3 | 22 | 7.3 | 0 | 14 | 5 |
| Jimmy Horn Jr. | 1 | 11 | 11.0 | 0 | 11 | 1 |
| Ja'Tavion Sanders | 1 | 6 | 6.0 | 0 | 6 | 1 |
| Mitchell Evans | 0 | 0 | 0.0 | 0 | 0 | 1 |
Panthers · Fumbles
| Player | FUM | LOST | REC |
|---|---|---|---|
| Trevor Etienne | 1 | 0 | 1 |
Panthers · Defense
| Player | TOT | SOLO | SACKS | TFL | PD | QB HTS | TD |
|---|---|---|---|---|---|---|---|
| Krys Barnes | 10 | 3 | 0 | 0 | 0 | 0 | 0 |
| Tre'von Moehrig | 8 | 4 | 0 | 1 | 0 | 0 | 0 |
| Nick Scott | 8 | 1 | 0 | 0 | 0 | 0 | 0 |
| A'Shawn Robinson | 7 | 1 | 0 | 0 | 0 | 1 | 0 |
| Tershawn Wharton | 6 | 2 | 0 | 0 | 0 | 0 | 0 |
| Bam Martin-Scott | 6 | 1 | 0 | 1 | 0 | 0 | 0 |
| DJ Wonnum | 5 | 1 | 0 | 0 | 0 | 0 | 0 |
| Lathan Ransom | 5 | 1 | 0 | 0 | 0 | 0 | 0 |
Panthers · Interceptions
| Player | INT | YDS | TD |
|---|---|---|---|
| Jaycee Horn | 2 | 36 | 0 |
| Mike Jackson | 1 | 0 | 0 |
Panthers · Kick returns
| Player | NO | YDS | AVG | LONG | TD |
|---|---|---|---|---|---|
| Trevor Etienne | 3 | 74 | 24.7 | 26 | 0 |
Panthers · Punt returns
| Player | NO | YDS | AVG | LONG | TD |
|---|---|---|---|---|---|
| Trevor Etienne | 1 | 6 | 6.0 | 6 | 0 |
Panthers · Kicking
| Player | FG | PCT | LONG | XP | PTS |
|---|---|---|---|---|---|
| Ryan Fitzgerald | 1/2 | 50.0 | 25 | 0/0 | 3 |
Panthers · Punting
| Player | NO | YDS | AVG | TB | In 20 | LONG |
|---|---|---|---|---|---|---|
| Sam Martin | 4 | 201 | 50.3 | 1 | 2 | 55 |
49ers · Passing
| Player | C/ATT | YDS | AVG | TD | INT | SACKS | QBR | RTG |
|---|---|---|---|---|---|---|---|---|
| Brock Purdy | 23/32 | 193 | 6.0 | 1 | 3 | 0-0 | 49.5 | 58.5 |
49ers · Rushing
| Player | CAR | YDS | AVG | TD | LONG |
|---|---|---|---|---|---|
| Christian McCaffrey | 24 | 89 | 3.7 | 1 | 17 |
| Brian Robinson Jr. | 7 | 40 | 5.7 | 0 | 12 |
| Brock Purdy | 6 | 16 | 2.7 | 0 | 9 |
| Ricky Pearsall | 1 | 2 | 2.0 | 0 | 2 |
49ers · Receiving
| Player | REC | YDS | AVG | TD | LONG | TGTS |
|---|---|---|---|---|---|---|
| George Kittle | 6 | 78 | 13.0 | 0 | 25 | 10 |
| Christian McCaffrey | 7 | 53 | 7.6 | 0 | 19 | 7 |
| Jauan Jennings | 5 | 41 | 8.2 | 1 | 12 | 7 |
| Demarcus Robinson | 1 | 8 | 8.0 | 0 | 8 | 1 |
| Ricky Pearsall | 2 | 6 | 3.0 | 0 | 6 | 4 |
| Brian Robinson Jr. | 1 | 4 | 4.0 | 0 | 4 | 2 |
| Luke Farrell | 1 | 3 | 3.0 | 0 | 3 | 1 |
49ers · Fumbles
| Player | FUM | LOST | REC |
|---|---|---|---|
| Christian McCaffrey | 1 | 0 | 0 |
| Colton McKivitz | 0 | 0 | 1 |
49ers · Defense
| Player | TOT | SOLO | SACKS | TFL | PD | QB HTS | TD |
|---|---|---|---|---|---|---|---|
| Malik Mustapha | 7 | 7 | 0 | 1 | 0 | 0 | 0 |
| Upton Stout | 6 | 2 | 0 | 0 | 1 | 0 | 0 |
| Ji'Ayir Brown | 5 | 4 | 0 | 0 | 2 | 0 | 0 |
| Jordan Elliott | 3 | 2 | 0 | 0 | 0 | 0 | 0 |
| Deommodore Lenoir | 3 | 2 | 0 | 0 | 0 | 0 | 0 |
| Curtis Robinson | 3 | 1 | 0 | 0 | 0 | 0 | 0 |
| Jason Pinnock | 2 | 2 | 0 | 0 | 0 | 0 | 0 |
| Nick Martin | 2 | 2 | 0 | 0 | 0 | 0 | 0 |
49ers · Interceptions
| Player | INT | YDS | TD |
|---|---|---|---|
| Ji'Ayir Brown | 2 | 4 | 0 |
49ers · Kick returns
| Player | NO | YDS | AVG | LONG | TD |
|---|---|---|---|---|---|
| Skyy Moore | 3 | 80 | 26.7 | 43 | 0 |
49ers · Kicking
| Player | FG | PCT | LONG | XP | PTS |
|---|---|---|---|---|---|
| Matt Gay | 2/2 | 100.0 | 47 | 2/2 | 8 |
49ers · Punting
| Player | NO | YDS | AVG | TB | In 20 | LONG |
|---|---|---|---|---|---|---|
| Thomas Morstead | 1 | 40 | 40.0 | 0 | 0 | 40 |
Game info
VenueLevi's Stadium, Santa Clara, CA
Attendance71,337
OfficialsLine Judge: Rusty Baynes · Field Judge: Sean Petty · Back Judge: Scott Helverson · Referee: Alex Kemp
TVESPN · national
Last and next games
More scores
NFL Week 12, 2025All NFL ScoresNFL 2025 SeasonNFL OddsScores & schedules
College Football ScoresNBA ScoresCollege Basketball ScoresNHL ScoresMLB ScoresWNBA ScoresUFC & MMA Results
Scores, stats and closing line: ESPN. Prediction-market prices: Kalshi and Polymarket. Betting splits: a consensus across several sportsbooks. Odds change constantly: confirm the price at the book. 21+. Gambling problem? Call 1-800-GAMBLER.
Game details updated Oct 13, 5:54 PM ET. How game pages are made