In Week 12 of the 2025 NFL season (Monday Night Football, Nov. 24, 2025), the San Francisco 49ers defeated the Carolina Panthers 20–9. San Francisco’s balanced attack and opportunistic defense dictated the game: running back Christian McCaffrey rushed for 89 yards and added 53 receiving yards (142 scrimmage yards total) with one touchdown. Carolina’s offense struggled to respond; quarterback Bryce Young went 18-for-29 for 169 yards with one touchdown and one interception, and the Panthers never crossed midfield on five third downs. The 49ers improved to 8–4 on the year, remaining in playoff position, while Carolina fell to 6–6 and missed a chance to take sole possession of first place in the NFC South. The following sections break down the key player statistics and game dynamics that defined this matchup.
Game Summary
San Francisco struck first at Levi’s Stadium. On the opening drive the 49ers ran 15 plays (8:30 elapsed) before Brock Purdy found Jauan Jennings for a 12-yard touchdown. A Matt Gay field goal late in the first half gave San Francisco a 10–3 lead at intermission. Carolina’s lone touchdown came early in the third quarter: Bryce Young hit rookie Tetairoa McMillan on a 29-yard pass, making it 17–9 after a failed two-point try. San Francisco’s defense then held firm and closed out the scoring; Gay added a 47-yard field goal in the fourth quarter to account for the final 20–9 margin. In total, San Francisco outgained Carolina by 110 yards (340–230) and controlled the line of scrimmage on both sides of the ball.
Panthers Offense: Struggles Through Air and Ground
Carolina’s offense sputtered all night. Bryce Young completed 18 of 29 passes (62.1%) for 169 yards with one touchdown and one interception. Young’s passer rating was just 60.9, as the Niners consistently pressured him into short throws and turnovers. The Panthers’ running game fared little better: Rico Dowdle led the team with only 38 rushing yards on 6 carries (long 17). Dowdle added 36 yards receiving, giving him 74 scrimmage yards on the night. Backup Chuba Hubbard had just 16 yards on 3 carries, and no other Panther gained more than 20 yards rushing or receiving.
With only 230 total yards, Carolina managed just one offensive touchdown. The Panthers ran only 43 plays – tied for the second-fewest in franchise history – and converted just 2 of 14 third downs (14.3% conversion rate). In other words, drives rarely sustained beyond a few plays. Left tackle Taylor Moton and center Bradley Bozeman each played 100% of the offensive snaps (46 snaps), but even a full-strength line could not spring the offense. The lone Carolina score came on a short field goal; kicker Ryan Fitzgerald was 1-for-1 on field goals (25 yards) and 3-for-3 on extra points.
Panthers Defense: Turnovers Shine
Carolina’s defense was far more productive, keeping the game close early on. The Panthers forced three turnovers in the first half – all via interceptions. Cornerback Jaycee Horn had two first-half interceptions (the second multi-pick game of his career). Safety Mike Jackson added the third pick in the second quarter. These takeaways repeatedly halted San Francisco drives (and at one point gave Carolina the ball at the SF 1), but Carolina could not turn those turnovers into more than a field goal. Linebacker Krys Barnes led the team with 10 tackles on the night, showcasing the defense’s effort. However, after the early flurry, the 49ers offense settled in and totaled 20 points against the Panthers’ otherwise stout front, exposing the lack of offensive support.
49ers Offense: McCaffrey and Company Carry the Load
San Francisco’s offense was paced by Christian McCaffrey. He carried 24 times for 89 yards and one touchdown (including the key 12-yard score early in the third quarter). McCaffrey was also the team’s leading receiver with 7 catches for 53 yards. In all, he amassed 142 yards from scrimmage and remained a dual-threat throughout the game. Quarterback Brock Purdy completed just 6 of 22 passes (for 193 yards, 1 TD, 3 INT), but he hit stride on key plays. His touchdown came on that first-drive 12-yard strike to Jennings. Tight end George Kittle chipped in with 6 catches for 78 yards, moving the chains on multiple drives. No other 49ers receiver topped 50 yards, but the threat of Kittle and Jennings (5 catches, 41 yards, 1 TD) kept the Panthers honest.
Overall, San Francisco racked up 340 total yards. The balanced attack complemented the defense’s strong play. Running back Byron Robinson Jr. provided a late spark (7 carries, 40 yards) as the Panthers defense wore down. Placekicker Matt Gay was perfect, hitting field goals from 28 and 47 yards. Punter Tory Taylor flipped field position as needed, and kick returner Stevie Moore helped flip the field once on a 43-yard return. In short, the 49ers offense did just enough to score when needed, while keeping Bryant in manageable situations.
49ers Defense: Opportunistic and Aggressive
San Francisco’s defense dominated for most of the night. They allowed only 9 points after the first quarter and created confusion for Carolina’s offense. Using an aggressive scheme, the 49ers blitzed often – seven of eight Carolina dropbacks with man coverage saw a blitz. According to NFL Next Gen Stats, the blitzes contributed directly to two of Bryce Young’s interceptions, as Young completed only 2 of 7 throws for 11 yards under man coverage. Overall, the 49ers forced Young into multiple mistakes with different looks.
Even without piling up sacks, San Francisco’s unit won the battle at the line. Carolina’s lone sack was recorded on the first play of the game (Nick Bosa, a loss of 1 yard), and no other Panther was taken down. (By contrast, the 49ers put up 31 yards lost on sacks against Carolina as a team). The defense still keyed on turnovers; their three interceptions (including two by Jaycee Horn) were the difference-makers in a low-scoring game. Veteran safety Jimmie Ward made his season debut before leaving with a hand injury, but the rest of the front seven suffocated Carolina’s run game (69 rushing yards allowed). The end result was a bend-but-don’t-break defensive effort that kept the Panthers out of the end zone after the first quarter.
Advanced Metrics & Situational Notes
Several advanced stats highlight why San Francisco won decisively. For example, the 49ers converted an impressive 53.8% of third downs (7-of-13), whereas Carolina was just 14.3% (2-of-14). This gulf reflects that the Niners marched out of many third-and-longs while the Panthers often faced punts. The two teams also went to overtime-type situations: Carolina never faced a fourth-down attempt; San Francisco punted twice. Turnover margin was also telling: both teams had zero fumbles lost, but the 49ers +1 edge in interceptions (3 forced vs. 2 allowed) ultimately decided field position and scoring opportunities.
Next Gen Stats paint an even clearer picture: on plays where Carolina faced man coverage, Young was ineffective (2-of-7, 11 yards, two INT). The 49ers blitzed on 4-of-6 third downs, holding Young to only 1-of-3 for -3 yards in those spots. In short, San Francisco’s play-calling and pressure rate disrupted the Panthers’ offensive timing. Carolina’s offensive playbook was largely outmatched – as the Panthers site noted, 46 offensive snaps (including penalties) is rarely enough to win, and they managed only one first down on 12 third-down opportunities.
Injuries and Impact
Injuries reshuffled both sidelines. Early in the first half, Carolina lost two defensive backs. CB Jaycee Horn left with a concussion after his two interceptions, and LB Claudin Cherelus (a mid-season free-agent signing) also exited with a concussion. Both did not return. Later, G Chandler Zavala (calf) and CB Corey Thornton (ankle) left in the second half and missed the remainder. The Niners also had casualties: DE Sam Okuayinonu departed with an ankle injury. None of these injuries altered the outcome – San Francisco had already built its lead – but they underscored how physical the contest was. Carolina’s secondary was notably compromised without Horn in the second half, yet the 49ers managed only a short field goal in the final period anyway. On the other hand, the 49ers’ depth proved sufficient despite Okuayinonu’s exit; their defensive line rotation (Wes Phillips, Aaron Banks, etc.) continued to clog run lanes.
Key Team Stats
| Stat | Panthers | 49ers |
|---|---|---|
| Points | 9 | 20 |
| Total Yards | 230 | 340 |
| Rushing Yards | 69 | 147 |
| Passing Yards | 161 | 193 |
| Turnovers (INT) | 2 | 3 |
| 3rd-Down Conv. | 14.3% | 53.8% |
Panthers vs. 49ers team stats, Nov 24, 2025.
These numbers summarize the game: San Francisco’s offense outgained Carolina by 110 yards and converted a majority of third downs, while Carolina struggled to sustain drives. Both teams threw no interceptions on defense (Panthers’ two turnovers came from Young’s picks; the 49ers’ three takeaways came from forcing throws). Penalties and special teams were fairly even (4 penalties, 2 for Carolina, and similar punting stats). In short, the 49ers won the statistical battle that often correlates with winning: yardage, third-down conversions, and turnover margin.
FAQ
What was the final score?
San Francisco won 20–9.
Who led the Panthers offensively?
QB Bryce Young passed for 169 yards, 1 TD, 1 INT. RB Rico Dowdle led rushing/receiving for Carolina (38 rush yards, 36 rec). WR Tetairoa McMillan scored Carolina’s lone TD (29-yd catch).
Who led the 49ers offensively?
RB Christian McCaffrey had 89 rushing yards and 53 receiving yards (142 scrimmage) with 1 TD. QB Brock Purdy threw for 193 yards and 1 TD but 3 INT. TE George Kittle had 78 receiving yards; WR Jauan Jennings caught the 12-yd TD.
How many interceptions were there?
The Panthers’ defense intercepted Brock Purdy 3 times (Horn 2, Jackson 1). Carolina turned the ball over on 2 picks (Young’s passes).
What injuries occurred?
Carolina lost CB Jaycee Horn and LB Claudin Cherelus to concussions in the first half. Additionally, G Chandler Zavala (calf) and CB Corey Thornton (ankle) exited and did not return. San Francisco lost DE Sam Okuayinonu (ankle) in the second half.
Where was the game played?
The game took place at Levi’s Stadium in Santa Clara, California, on Monday night (Nov. 24, 2025).
Sources: Official game boxscore and team reports, NFL news articles, and advanced metrics from NFL’s Next Gen Stats. All statistics are drawn from these authoritative sources.
Also Read: Jacksonville Jaguars vs Tennessee Titans Match Player Stats




