Nov 25
NFL

49ers Grind Out 20–9 Win Over Panthers to Move to 8–4

By
Erik Sutter
Photo By
Brooke Sutton

San Francisco Leans on Defense and McCaffrey in Turnover-Filled Afternoon

SANTA CLARA, Calif. — The 49ers didn’t play their cleanest football of the season, but they didn’t need to. San Francisco beat the Carolina Panthers 20–9 on Sunday at Levi’s Stadium, improving to 8–4 behind a defense that dictated the entire afternoon and an offense that found just enough rhythm to stay in control even through mistakes.

San Francisco turned the ball over three times in the first half but never trailed. The 49ers controlled possession, controlled the tempo and controlled nearly every meaningful stretch of the game, holding Carolina to a single touchdown and forcing Bryce Young into two interceptions.

SANTA CLARA, CALIFORNIA - NOVEMBER 24: Ji'Ayir Brown #27 of the San Francisco 49ers celebrates with teammates after intercepting a pass intended for Tetairoa McMillan #4 of the Carolina Panthers (not pictured) in the fourth quarter of the game at Levi's Stadium on November 24, 2025 in Santa Clara, California. (Photo by Thien-An Truong/Getty Images)

A Strong Opening Drive Followed by a Chaotic Half

The 49ers opened the game with their sharpest sequence of the day, a 15-play, 72-yard drive that drained 8:43 off the clock and ended with Brock Purdy finding Jauan Jennings on a 12-yard touchdown. The rhythm didn’t last. On the next three possessions, Purdy threw three straight interceptions, two into tight coverage and one in the red zone. Carolina couldn’t take advantage, turning those takeaways into only a short field goal.

With the half winding down, San Francisco answered with a 47-yard field goal from Matt Gay, taking a 10–3 lead into the break despite the turnovers.

SANTA CLARA, CALIFORNIA - NOVEMBER 24: Brock Purdy #13 of the San Francisco 49ers drops back to pass during the second quarter of an NFL football game against the Carolina Panthers at Levi's Stadium on November 24, 2025 in Santa Clara, California. (Photo by Brooke Sutton/Getty Images)

San Francisco’s Offense Settles In Behind McCaffrey

Christian McCaffrey carried the offense out of the turbulence. He ran for 89 yards on 24 carries and added 53 receiving yards on seven catches, finishing with 142 total yards and the game’s key touchdown. He was the steady option throughout the afternoon, especially in the third quarter when the 49ers pieced together a 13-play, 80-yard drive that McCaffrey capped with a 12-yard touchdown run to extend the lead to 17–3.

Purdy rebounded from the shakiness of the first half. He didn’t need explosive plays; he just needed to keep the offense on schedule. He finished 23-of-32 for 193 yards with one touchdown and three interceptions, gradually regaining control of the game.

SANTA CLARA, CALIFORNIA - NOVEMBER 24: Christian McCaffrey #23 of the San Francisco 49ers runs into the end zone for a touchdown in the third quarter of the game against the Carolina Panthers at Levi's Stadium on November 24, 2025 in Santa Clara, California. (Photo by Thien-An Truong/Getty Images)

Carolina’s Only Surge Comes Briefly

The Panthers briefly responded midway through the third quarter. Bryce Young found Tetairoa McMillan on a 29-yard touchdown pass to cut the lead to 17–9 after a failed two-point attempt. It was Carolina’s cleanest drive of the day, an eight-play, 68-yard push that created a moment of pressure, but the 49ers never lost their grip on the game after that.

Young completed 18-of-29 passes for 169 yards, one touchdown and two interceptions. Rico Dowdle was the Panthers’ top contributor, combining for 74 total yards, but Carolina never found a consistent rhythm against a defense that continually closed space and shortened drives.

SANTA CLARA, CALIFORNIA - NOVEMBER 24: Jaycee Horn #8 of the Carolina Panthers intercepts the pass intended for Jauan Jennings #15 of the San Francisco 49ers in the first quarter of the game at Levi's Stadium on November 24, 2025 in Santa Clara, California. (Photo by Thien-An Truong/Getty Images)

49ers Defense Controls the Game

San Francisco’s defense set the tone on nearly every possession. Ji’Ayir Brown intercepted Young twice, once in the first half and once in the fourth quarter to stop Carolina’s final real scoring opportunity. Malik Mustapha led the team with seven tackles, and Clelin Ferrell produced the team’s only sack along with a tackle-for-loss. The Panthers finished with only 230 total yards, went just 1-of-7 on third down and managed only nine points despite four San Francisco turnovers.

The 49ers dominated time of possession, holding the ball for more than 37 minutes, forcing Carolina into quick punts and limiting explosive plays throughout the night.

SANTA CLARA, CALIFORNIA - NOVEMBER 24: Ji'Ayir Brown #27 of the San Francisco 49ers celebrates with teammates after intercepting a pass intended for Tetairoa McMillan #4 of the Carolina Panthers (not pictured) in the fourth quarter of the game at Levi's Stadium on November 24, 2025 in Santa Clara, California. (Photo by Jed Jacobsohn/Getty Images)

Closing Out a November Win

The 49ers put the game away with a 10-play, 59-yard drive early in the fourth quarter that ended in a Matt Gay field goal to make it 20–9. From there, San Francisco leaned on its ground game and defense to drain the clock. Carolina missed a long field-goal attempt late, and the 49ers closed the final minutes without pressure.

What This Win Means

San Francisco moves to 8–4 and continues to climb in the NFC standings with a performance that showed how much their defense can carry them when the offense isn’t perfect. Even on a day with three first-half interceptions and stalled possessions, the 49ers controlled nearly everything that mattered. Their December push remains intact, and their identity — physical defense, time of possession, and consistency from McCaffrey — looks as solid as it’s been all season.

Further articles