Skip to main content
Sports

How the 49ers overcame Brock Purdy’s 3 interceptions to beat the Panthers

San Francisco leaned heavily on Christian McCaffrey and a young defense to neutralize Carolina and improve to 8-4 on the season.

A quarterback in a red San Francisco 49ers uniform prepares to throw a football during a game, with teammates and opponents nearby.
49ers quarterback Brock Purdy passes the ball against the Panthers during the first quarter at Levi’s Stadium on Monday, Nov. 24, 2025. | Source: Amber Pietz/The Standard

Want more ways to catch up on the latest in Bay Area sports? Sign up for the Section 415 email newsletter here and subscribe to the Section 415 podcast wherever you listen.

When the Panthers traded Christian McCaffrey to the 49ers back in October, 2022, Carolina knew exactly what it was losing.

The NFL’s most versatile skill position player was an All-Pro and one of just three players in league history to record 1,000 rushing yards and 1,000 receiving yards in the same season. 

The Panthers have always known what they’re missing without McCaffrey, but three-plus years after a team in rebuilding mode dealt away a franchise player, they received their loudest reminder yet as the 49ers star racked up 142 yards from scrimmage on 31 touches in San Francisco’s 20-9 win over Carolina at Levi’s Stadium.

The 49ers are without their two best defensive players, Nick Bosa and Fred Warner, for the remainder of the season. Their starting quarterback, Brock Purdy, threw three terrible first-half interceptions that halted the team’s early offensive momentum. Yet in a game against a fellow playoff contender and a team fighting for first place in the NFC South, the 49ers somehow managed to stay in complete control to secure their eighth win of the season.

In a season in which nearly every high-profile player has been in and out of the lineup or sidelined altogether, McCaffrey’s consistent production has been the thread holding the 49ers together. He leads the NFL in rushing attempts (217), receptions (81) and now has more than 750 rushing and 750 receiving yards in his bid to become the first two-time member of the ultra-exclusive 1,000-1,000 club.

McCaffrey received help from the 49ers’ defense on Monday as safety Ji’Ayir Brown intercepted Panthers quarterback Bryce Young twice, including once in the end zone when Young looked poised to scamper in for a touchdown if he had tucked the ball and run instead of lofting it toward the back of the end zone.

The second pick came with under seven minutes to play in the fourth quarter and was made possible because officials missed a blatant hold by cornerback Renardo Green, who grabbed the arm of Panthers rookie Tetairoa McMillan at the top of his route.

Turnovers, of course, were a theme for both teams.

The first two interceptions Purdy threw were bad decisions, as the 49ers’ quarterback forced unnecessary downfield throws into tight coverage. After the defense held the Panthers without a first down on their drive, Purdy took a deep shot over the middle for Jauan Jennings on the first play of the 49ers’ next drive and the pass was undercut by cornerback Jaycee Horn.

Horn came up with another pick two drives later as he raced across the field and snagged a pass intended for Ricky Pearsall on a play that ultimately set up a 25-yard field goal. 

The only issue for Carolina? After his second takeaway, Horn was diagnosed with a concussion and ruled out for the remainder of the game. 

On the 49ers’ first drive of the game, Purdy methodically marched the 49ers down the field on a 15-play, 72-yard drive that ate up nearly nine minutes of clock and should have served as a template for the rest of the game. 

The opening series required patience, discipline, and a heavy workload for McCaffrey, who touched the ball 17 times in the first half a week after registering 18 touches in the 49ers’ win over the Cardinals. 

The first drive undoubtedly left an impression on Kyle Shanahan, who called what amounted to a carbon copy of that series on a 13-play, 80-yard drive that took up 7:43 on San Francisco’s first drive of the third quarter.

McCaffrey capped off the series with a 12-yard touchdown run that put the 49ers ahead 17-3. 

A Carolina offense that struggled all night answered when Young hit McMillan for a 29-yard touchdown, but the 49ers were able to withstand Carolina’s comeback effort.

What was up with Purdy’s 3-drive, 3-INT stretch?

That was a weird first half — and not necessarily because Purdy struggled with three ugly interceptions, but rather because those picks came on unnecessarily brazen throws following a spectacularly patient start.

Purdy led the 49ers downfield over 15 methodical plays to begin the game. He took the profits that Carolina’s defense allowed. It was a great display of ball-hogging patience.

But after Purdy’s opening touchdown pass to Jennings, the quarterback — and maybe his coach, Shanahan — got greedy. Way too greedy.

On the first play of the 49ers’ next drive, Shanahan dialed up an aggressive play-action attempt over the middle. Purdy’s throw to Jennings was late, allowing Horn to pick it off. Considering the simple success of the previous drive, that play’s degree of difficulty seemed way too high for the moment.

Then, shortly after Purdy had bolted for a first down, he had another chance to move the chains with his legs. Wide-open grass waited right in front of him. But Purdy instead ripped an aggressive off-schedule pass toward the end zone for receiver Ricky Pearsall — and Carolina cornerback Mike Jackson picked that off, too.

On the next drive, Horn again intercepted Purdy, who again was looking much farther downfield than he’d looked on the 49ers’ successful opening drive.

Thankfully for the 49ers, that ended up being a bizarre three-drive blip. Purdy and Shanahan got back to hogging the ball in the second half, delivering scoring drives of 13 and 10 plays to build an advantage that Carolina couldn’t overcome.

Purdy went back to Drive 1 basics on those marches, taking the profits afforded to him by Carolina’s loose defense. It wasn’t flashy, but the 49ers won — and that’s all that mattered on this Monday night.

The big question moving forward: Will this be a valuable growth moment for Purdy (and, by extension, Shanahan)? They travel to face the Cleveland Browns, who boast one of the best defenses in football, on Sunday. Success against game-wrecking pass rusher Myles Garrett and Co. will virtually require Purdy to consistently deliver the patience that eluded him for those three first-half drives tonight.

A real-time defensive maturation

A few weeks ago, the 49ers’ defense might not have withstood Purdy’s first-half deluge of interceptions. But the unit’s coordinator, Robert Saleh, has promised incremental improvement down the stretch run — and that came in the form of a massive jump against Carolina.

To begin, the 49ers enjoyed what was easily their best safety play of the season. Brown, who’d logged 10 interceptions over his final two college seasons at Penn State, delivered his first career multi-pick game. The first one bailed the 49ers out of very poor position after Purdy’s first interception.

The 49ers’ pass rush, working with a perpetual lead, also delivered perhaps its best work yet. Though the game’s only sack game from defensive end Clelin Ferrell in the fourth quarter, the 49ers swarmed Young — who was fresh off a 448-yard performance — with fellow linemen Bryce Huff and Keion White.

The rush and pass coverage tied together better than at any point since both Bosa and Warner were on the field.

David Lombardi can be reached at [email protected]
Kerry Crowley can be reached at [email protected]