Brock Purdy threw three interceptions before halftime. San Francisco won by 11. That arithmetic holds up because Carolina’s defense โ which forced all three turnovers, two through Jaycee Horn โ watched its offense convert them into a 25-yard Ryan Fitzgerald field goal and two empty drives. Christian McCaffrey carried the rest. The running back ran 24 times, caught 7 passes, scored the go-ahead touchdown in the third quarter, and finished with 142 yards from scrimmage in his first game against the franchise that drafted him. The 49ers beat the Panthers 20-9 on November 24, 2025, at Levi’s Stadium.
Table of Contents
Game Information
| Game Information | |
|---|---|
| Date | Monday, November 24, 2025 |
| Venue | Levi’s Stadium, Santa Clara, CA |
| Attendance | 71,337 |
| Broadcast | ESPN (Monday Night Football) |
| Final Score | Carolina Panthers 9 โ San Francisco 49ers 20 |
| Records | Panthers 6-6 ยท 49ers 8-4 |
| Coaches | Dave Canales (CAR) ยท Kyle Shanahan (SF) |
| Game Duration | 2:43 |
Scoring Summary
| Quarter | Time | Team | Play | Drive | Score |
|---|---|---|---|---|---|
| Q1 | 6:17 | SF | Jauan Jennings 12-yd pass from Brock Purdy (Matt Gay kick) | 15 plays, 72 yds, 8:43 | CAR 0 โ SF 7 |
| Q2 | 2:28 | CAR | Ryan Fitzgerald 25-yd field goal | 7 plays, 26 yds, 3:51 | CAR 3 โ SF 7 |
| Q2 | 1:00 | SF | Matt Gay 47-yd field goal | 6 plays, 25 yds, 1:28 | CAR 3 โ SF 10 |
| Q3 | 4:42 | SF | Christian McCaffrey 12-yd rush (Matt Gay kick) | 13 plays, 80 yds, 7:43 | CAR 3 โ SF 17 |
| Q3 | 0:49 | CAR | Tetairoa McMillan 29-yd pass from Bryce Young (2-pt conversion failed) | 8 plays, 68 yds, 3:53 | CAR 9 โ SF 17 |
| Q4 | 9:21 | SF | Matt Gay 29-yd field goal | 10 plays, 59 yds, 6:28 | CAR 9 โ SF 20 |
Team Stats
| Stat | Carolina Panthers | San Francisco 49ers |
|---|---|---|
| Total Yards | 230 | 340 |
| Total Plays | 43 | 70 |
| Yards per Play | 5.3 | 4.9 |
| First Downs | 12 | 23 |
| โ Passing | 9 | 11 |
| โ Rushing | 3 | 12 |
| โ Penalty | 0 | 0 |
| Net Passing Yards | 161 | 193 |
| Comp / Att | 18/29 | 23/32 |
| Yards per Pass | 5.4 | 6.0 |
| Interceptions Thrown | 2 | 3 |
| Sacks โ Yards Lost | 1 โ 8 | 0 โ 0 |
| Rushing Yards | 69 | 147 |
| Rush Attempts | 13 | 38 |
| Yards per Rush | 5.3 | 3.9 |
| 3rd Down Efficiency | 1 / 7 | 7 / 13 |
| 4th Down Efficiency | 0 / 0 | 2 / 2 |
| Red Zone (MadeโAtt) | 0 / 2 | 2 / 3 |
| Penalties | 4 โ 30 yds | 2 โ 6 yds |
| Turnovers | 2 | 3 |
| Fumbles Lost | 0 | 0 |
| Time of Possession | 22:18 | 37:42 |
Passing Stats
| Player | Team | C/ATT | YDS | AVG | TD | INT | SACKS | QBR | RTG |
|---|---|---|---|---|---|---|---|---|---|
| Bryce Young | CAR | 18/29 | 169 | 5.8 | 1 | 2 | 1โ8 | 14.2 | 60.8 |
| Brock Purdy | SF | 23/32 | 193 | 6.0 | 1 | 3 | 0โ0 | 49.5 | 58.5 |
Young entered Week 12 as the NFC’s Offensive Player of the Week after throwing for a franchise-record 448 yards at Atlanta. Against San Francisco, he finished with a 60.8 passer rating, his two interceptions both to Ji’Ayir Brown โ one in the end zone on a first-down play from the 1-yard line, the second in the fourth quarter at the San Francisco 33 while trailing by 11. Purdy, in his second start back from a toe injury, threw three picks in the first half before San Francisco shelved the passing game and leaned on McCaffrey.
“It’s just the execution of throwing a better ball,” Purdy said. “I kept it up in the air too long on multiple of them.”
Rushing Stats
Carolina Panthers
| Player | CAR | YDS | AVG | TD | LG |
|---|---|---|---|---|---|
| Rico Dowdle | 6 | 38 | 6.3 | 0 | 17 |
| Chuba Hubbard | 3 | 16 | 5.3 | 0 | 10 |
| Bryce Young | 4 | 15 | 3.8 | 0 | 7 |
| Team | 13 | 69 | 5.3 | 0 | 17 |
San Francisco 49ers
| Player | CAR | YDS | AVG | TD | LG |
|---|---|---|---|---|---|
| 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 |
| Team | 38 | 147 | 3.9 | 1 | 17 |
McCaffrey’s 12-yard touchdown run โ a toss left in the third quarter โ put San Francisco up 17-3 and made it the 10th time in 2025 he surpassed 100 yards from scrimmage, two short of the franchise record he set in 2023. San Francisco’s 38 rush attempts nearly tripled Carolina’s 13. The 49ers ran on the first five plays of the game, and that opening drive ended with a Purdy touchdown pass to Jauan Jennings.
Receiving Stats
Carolina Panthers
| Player | REC | TGT | YDS | AVG | TD | LG |
|---|---|---|---|---|---|---|
| Rico Dowdle | 4 | 4 | 36 | 9.0 | 0 | 12 |
| Tetairoa McMillan | 2 | 7 | 35 | 17.5 | 1 | 29 |
| Jalen Coker | 3 | 4 | 32 | 10.7 | 0 | 18 |
| Chuba Hubbard | 4 | 4 | 27 | 6.8 | 0 | 14 |
| Xavier Legette | 3 | 5 | 22 | 7.3 | 0 | 14 |
| Jimmy Horn Jr. | 1 | 1 | 11 | 11.0 | 0 | 11 |
| Ja’Tavion Sanders | 1 | 1 | 6 | 6.0 | 0 | 6 |
| Mitchell Evans | 0 | 1 | 0 | โ | 0 | โ |
| Team | 18 | 27 | 169 | 9.4 | 1 | 29 |
San Francisco 49ers
| Player | REC | TGT | YDS | AVG | TD | LG |
|---|---|---|---|---|---|---|
| George Kittle | 6 | 10 | 78 | 13.0 | 0 | 25 |
| Christian McCaffrey | 7 | 7 | 53 | 7.6 | 0 | 19 |
| Jauan Jennings | 5 | 7 | 41 | 8.2 | 1 | 12 |
| Demarcus Robinson | 1 | 1 | 8 | 8.0 | 0 | 8 |
| Ricky Pearsall | 2 | 4 | 6 | 3.0 | 0 | 6 |
| Brian Robinson Jr. | 1 | 2 | 4 | 4.0 | 0 | 4 |
| Luke Farrell | 1 | 1 | 3 | 3.0 | 0 | 3 |
| Team | 23 | 32 | 193 | 8.4 | 1 | 25 |
McMillan’s 29-yard touchdown catch in the third quarter โ the longest play of the night for either offense โ pulled Carolina within 17-9, and the Panthers failed on the two-point conversion after a penalty pushed the ball to the 1-yard line. Young’s second interception followed three drives later.
Defensive Stats
San Francisco 49ers Defense
| Player | TOT | SOLO | SACKS | TFL | PD | QB HTS |
|---|---|---|---|---|---|---|
| Malik Mustapha | 7 | 7 | 0 | 1 | 0 | 0 |
| Upton Stout | 6 | 2 | 0 | 0 | 1 | 0 |
| Ji’Ayir Brown | 5 | 4 | 0 | 0 | 2 | 0 |
| Jordan Elliott | 3 | 2 | 0 | 0 | 0 | 0 |
| Deommodore Lenoir | 3 | 2 | 0 | 0 | 0 | 0 |
| Curtis Robinson | 3 | 1 | 0 | 0 | 0 | 0 |
| Jason Pinnock | 2 | 2 | 0 | 0 | 0 | 0 |
| Nick Martin | 2 | 2 | 0 | 0 | 0 | 0 |
| Clelin Ferrell | 1 | 1 | 1 | 1 | 0 | 1 |
| Bryce Huff | 1 | 1 | 0 | 0 | 0 | 2 |
| Kyle Juszczyk | 1 | 1 | 0 | 0 | 0 | 0 |
| Colton McKivitz | 1 | 1 | 0 | 0 | 0 | 0 |
| Luke Farrell | 1 | 1 | 0 | 0 | 0 | 0 |
| Dee Winters | 1 | 1 | 0 | 0 | 0 | 0 |
| Sam Okuayinonu | 1 | 1 | 0 | 0 | 0 | 0 |
| Siran Neal | 1 | 0 | 0 | 0 | 0 | 0 |
| Keion White | 1 | 0 | 0 | 0 | 0 | 0 |
| Kalia Davis | 1 | 0 | 0 | 0 | 0 | 0 |
| Alfred Collins | 1 | 0 | 0 | 0 | 0 | 0 |
| C.J. West | 1 | 0 | 0 | 0 | 0 | 0 |
| Marques Sigle | 1 | 0 | 0 | 0 | 0 | 0 |
| Renardo Green | 0 | 0 | 0 | 0 | 1 | 0 |
| Team | 44 | 29 | 1 | 2 | 4 | 3 |
Interceptions: Ji’Ayir Brown โ 2 INT, 4 return yards
Carolina Panthers Defense
| Player | TOT | SOLO | SACKS | TFL | PD | QB HTS |
|---|---|---|---|---|---|---|
| Krys Barnes | 10 | 3 | 0 | 0 | 0 | 0 |
| Tre’Von Moehrig | 8 | 4 | 0 | 1 | 0 | 0 |
| Nick Scott | 8 | 1 | 0 | 0 | 0 | 0 |
| A’Shawn Robinson | 7 | 1 | 0 | 0 | 0 | 1 |
| Tershawn Wharton | 6 | 2 | 0 | 0 | 0 | 0 |
| Bam Martin-Scott | 6 | 1 | 0 | 1 | 0 | 0 |
| DJ Wonnum | 5 | 1 | 0 | 0 | 0 | 0 |
| Lathan Ransom | 5 | 1 | 0 | 0 | 0 | 0 |
| Claudin Cherelus | 4 | 3 | 0 | 0 | 0 | 0 |
| Chau Smith-Wade | 4 | 3 | 0 | 1 | 0 | 0 |
| Mike Jackson | 4 | 2 | 0 | 0 | 1 | 0 |
| Trevis Gipson | 3 | 2 | 0 | 0 | 0 | 0 |
| LaBryan Ray | 3 | 2 | 0 | 0 | 0 | 0 |
| Princely Umanmielen | 3 | 2 | 0 | 0 | 0 | 0 |
| Derrick Brown | 3 | 0 | 0 | 0 | 1 | 0 |
| Corey Thornton | 2 | 1 | 0 | 0 | 0 | 0 |
| Nic Scourton | 2 | 1 | 0 | 0 | 0 | 0 |
| Bobby Brown III | 2 | 0 | 0 | 0 | 0 | 0 |
| Demani Richardson | 1 | 1 | 0 | 0 | 0 | 0 |
| Tetairoa McMillan | 1 | 1 | 0 | 0 | 0 | 0 |
| Brycen Tremayne | 1 | 0 | 0 | 0 | 0 | 0 |
| Jaycee Horn | 1 | 0 | 0 | 0 | 2 | 0 |
| Thomas Incoom | 1 | 0 | 0 | 0 | 0 | 0 |
| Team | 90 | 32 | 0 | 3 | 4 | 1 |
Interceptions: Jaycee Horn โ 2 INT, 36 return yards | Mike Jackson โ 1 INT, 0 return yards
Horn generated two of Carolina’s three picks of Purdy before being ruled out in the third quarter with a concussion. The Panthers’ defense registered no sacks and held San Francisco to 4.9 yards per play โ but the offense converted those turnovers into three points total.
Special Teams
Kicking
| Player | Team | FG | PCT | LG | XP | PTS |
|---|---|---|---|---|---|---|
| Matt Gay | SF | 2/2 | 100% | 47 | 2/2 | 8 |
| Ryan Fitzgerald | CAR | 1/2 | 50% | 25 | 0/0 | 3 |
Punting
| Player | Team | NO | YDS | AVG | TB | In-20 | LG |
|---|---|---|---|---|---|---|---|
| Sam Martin | CAR | 4 | 201 | 50.3 | 1 | 2 | 55 |
| Thomas Morstead | SF | 1 | 40 | 40.0 | 0 | 0 | 40 |
Kick Returns
| Player | Team | NO | YDS | AVG | LG | TD |
|---|---|---|---|---|---|---|
| Skyy Moore | SF | 3 | 80 | 26.7 | 43 | 0 |
| Trevor Etienne | CAR | 3 | 74 | 24.7 | 26 | 0 |
Punt Returns
| Player | Team | NO | YDS | AVG | LG | TD |
|---|---|---|---|---|---|---|
| Trevor Etienne | CAR | 1 | 6 | 6.0 | 6 | 0 |
| San Francisco | SF | โ | โ | โ | โ | โ |
Fumbles
| Player | Team | FUM | LOST | REC |
|---|---|---|---|---|
| Trevor Etienne | CAR | 1 | 0 | 1 |
| Christian McCaffrey | SF | 1 | 0 | 0 |
| Colton McKivitz | SF | 0 | 0 | 1 |
Injuries
Carolina Panthers: CB Jaycee Horn (concussion โ ruled out Q3), LB Claudin Cherelus (concussion โ exited first half), G Chandler Zavala (calf โ exited second half), CB Corey Thornton (ankle โ exited second half)
San Francisco 49ers: DE Sam Okuayinonu (ankle โ exited second half)
Note: Following the game, the NFL suspended Panthers safety Tre’Von Moehrig for one game after he struck 49ers receiver Jauan Jennings in the groin area in the fourth quarter. The suspension was upheld on appeal.
Frequently Asked Questions
What was the final score of the Panthers vs 49ers game on November 24, 2025?
The San Francisco 49ers defeated the Carolina Panthers 20-9 at Levi’s Stadium in Santa Clara, California. It was a Week 12 Monday Night Football game.
How many yards did Christian McCaffrey finish with against Carolina?
McCaffrey totaled 142 yards from scrimmage โ 89 rushing yards on 24 carries with one touchdown and 53 receiving yards on 7 catches.
How many interceptions did Brock Purdy throw vs the Panthers?
Purdy threw three interceptions, all in the first half, completing 23 of 32 passes for 193 yards and one touchdown. He posted a 58.5 passer rating on the night.
How did Bryce Young perform in the Panthers vs 49ers Week 12 game?
Young completed 18 of 29 passes for 169 yards, one touchdown, and two interceptions for a 60.8 passer rating. He was sacked once for a loss of eight yards.
Who led Carolina in tackles against San Francisco?
Linebacker Krys Barnes led all Panthers defenders with 10 total tackles. Safety Tre’Von Moehrig added 8 tackles and a tackle for loss.
Who intercepted Bryce Young for San Francisco?
Safety Ji’Ayir Brown recorded both of San Francisco’s interceptions, finishing with 5 total tackles and 2 pass deflections.
Who led the Panthers with interceptions against the 49ers?
Cornerback Jaycee Horn recorded two interceptions (36 return yards) before being ruled out with a concussion in the third quarter. Mike Jackson added a third interception.
Carolina’s defense forced three Purdy turnovers and allowed 20 points. San Francisco’s defense forced two Young turnovers and allowed nine. The 49ers went 7-for-13 on third down and held the ball for 37 minutes and 42 seconds. Carolina went 1-for-7. Those numbers put the Panthers at 6-6, one game behind Tampa Bay in the NFC South, after a prime-time game against a playoff-caliber opponent they had no real answer for once McCaffrey took over in the second half.
