Brock Purdy danced his way into the end zone and the San Francisco 49ers capitalized on two Cleveland turnovers to defeat the Browns 26-8 on November 30, 2025. The victory at Huntington Bank Field marked San Francisco’s third consecutive win, improving their record to 9-4 in a tight NFC playoff race. Cleveland rookie quarterback Shedeur Sanders, making his first home start, couldn’t overcome short-field situations that plagued the Browns throughout the afternoon.
Table of Contents
Game Summary
Final Score: San Francisco 49ers 26, Cleveland Browns 8
- Date: November 30, 2025
- Location: Huntington Bank Field, Cleveland, Ohio
- Attendance: 64,042
- Weather: Mid-30s with rain/snow mix
- Records: 49ers (9-4), Browns (3-9)
Quarter-by-Quarter Scoring
| Team | Q1 | Q2 | Q3 | Q4 | Final |
|---|---|---|---|---|---|
| San Francisco | 7 | 3 | 7 | 9 | 26 |
| Cleveland | 0 | 8 | 0 | 0 | 8 |
Scoring Plays
First Quarter
- SF 7-0 (8:15): Christian McCaffrey 2-yard run (Matt Gay kick), 6 plays, 16 yards, 2:10
Second Quarter
- CLE 8-7 (0:39): Harold Fannin Jr. 34-yard pass from Shedeur Sanders (Quinshon Judkins 2-point conversion run), 10 plays, 90 yards, 5:42
- SF 10-8 (0:00): Matt Gay 25-yard field goal, 6 plays, 58 yards, 0:39
Third Quarter
- SF 17-8 (1:29): Brock Purdy 2-yard run (Matt Gay kick), 9 plays, 32 yards, 5:36
Fourth Quarter
- SF 23-8 (11:05): Jauan Jennings 7-yard pass from Brock Purdy (2-point conversion failed), 6 plays, 18 yards, 2:22
- SF 26-8 (4:09): Matt Gay 31-yard field goal, 9 plays, 29 yards, 3:15
Team Statistics Comparison
| Category | 49ers | Browns |
|---|---|---|
| Total Yards | 252 | 253 |
| First Downs | 19 | 15 |
| Third Down Efficiency | 11-17 (65%) | 3-11 (27%) |
| Fourth Down Efficiency | 0-0 | 0-4 |
| Passing Yards | 161 | 115 |
| Rushing Yards | 91 | 138 |
| Total Plays | 64 | 60 |
| Yards Per Play | 3.9 | 4.2 |
| Turnovers | 0 | 2 |
| Fumbles-Lost | 0-0 | 4-2 |
| Interceptions Thrown | 0 | 0 |
| Penalties-Yards | 3-11 | 4-25 |
| Sacks-Yards Lost | 1-7 | 3-34 |
| Time of Possession | 30:10 | 29:50 |
| Red Zone Scoring | 3-5 (60%) | 0-1 (0%) |
Quarterback Statistics
San Francisco 49ers
Brock Purdy
| Comp-Att | Yards | TD | INT | Sacks-Lost | QBR | Rating | Long |
|---|---|---|---|---|---|---|---|
| 16-29 | 168 | 1 | 0 | 1-7 | 78.1 | 83.7 | 33 |
Rushing: 2 carries, 4 yards, 1 TD
Cleveland Browns
Shedeur Sanders
| Comp-Att | Yards | TD | INT | Sacks-Lost | QBR | Rating | Long |
|---|---|---|---|---|---|---|---|
| 16-25 | 149 | 1 | 0 | 3-34 | 16.3 | 93.6 | 34 |
Rushing: 1 carry, 6 yards
Rushing Leaders
San Francisco 49ers
| Player | Carries | Yards | Average | TD | Long | Fumbles |
|---|---|---|---|---|---|---|
| Christian McCaffrey | 20 | 53 | 2.7 | 1 | 7 | 0 |
| Brian Robinson Jr. | 8 | 26 | 3.3 | 0 | 9 | 0 |
| Brock Purdy | 2 | 4 | 2.0 | 1 | 2 | 0 |
| Mac Jones | 2 | 2 | 1.0 | 0 | 3 | 0 |
| Demarcus Robinson | 1 | 6 | 6.0 | 0 | 6 | 0 |
Team Totals: 33 carries, 91 yards, 2.8 avg, 2 TD
Cleveland Browns
| Player | Carries | Yards | Average | TD | Long | Fumbles |
|---|---|---|---|---|---|---|
| Quinshon Judkins | 23 | 91 | 4.0 | 0 | 17 | 0 |
| Dylan Sampson | 4 | 23 | 5.8 | 0 | 9 | 0 |
| Malachi Corley | 1 | 9 | 9.0 | 0 | 9 | 0 |
| Isaiah Bond | 1 | 9 | 9.0 | 0 | 9 | 0 |
| Shedeur Sanders | 1 | 6 | 6.0 | 0 | 6 | 0 |
| Harold Fannin Jr. | 1 | 0 | 0.0 | 0 | 0 | 1 |
Team Totals: 31 carries, 138 yards, 4.5 avg, 0 TD
Receiving Leaders
San Francisco 49ers
| Player | Targets | Receptions | Yards | Average | TD | Long |
|---|---|---|---|---|---|---|
| George Kittle | 5 | 4 | 67 | 16.8 | 0 | 33 |
| Jauan Jennings | 6 | 4 | 39 | 9.8 | 1 | 13 |
| Kyle Juszczyk | 2 | 2 | 27 | 13.5 | 0 | 23 |
| Christian McCaffrey | 4 | 4 | 21 | 5.3 | 0 | 12 |
| Ricky Pearsall | 3 | 2 | 14 | 7.0 | 0 | 13 |
Team Totals: 23 targets, 16 receptions, 168 yards, 1 TD
Cleveland Browns
| Player | Targets | Receptions | Yards | Average | TD | Long |
|---|---|---|---|---|---|---|
| Harold Fannin Jr. | 5 | 3 | 43 | 14.3 | 1 | 34 |
| Jerry Jeudy | 4 | 3 | 26 | 8.7 | 0 | 11 |
| Gage Larvadain | 3 | 2 | 23 | 11.5 | 0 | 13 |
| Quinshon Judkins | 3 | 3 | 18 | 6.0 | 0 | 13 |
| Isaiah Bond | 2 | 1 | 18 | 18.0 | 0 | 18 |
| Jerome Ford | 3 | 3 | 17 | 5.7 | 0 | 9 |
| David Njoku | 2 | 2 | 4 | 2.0 | 0 | 4 |
Team Totals: 23 targets, 17 receptions, 149 yards, 1 TD
Defensive Statistics
San Francisco 49ers Defensive Leaders
| Player | Position | Tackles | Solo | Sacks | TFL | QB Hits | PD | INT |
|---|---|---|---|---|---|---|---|---|
| Clelin Ferrell | DE | 9 | 6 | 2.0 | 2 | 2 | 0 | 0 |
| Upton Stout | CB | 7 | 5 | 0.0 | 1 | 0 | 0 | 0 |
| Malik Mustapha | S | 7 | 5 | 0.0 | 1 | 0 | 1 | 0 |
| Curtis Robinson | LB | 6 | 3 | 0.0 | 0 | 0 | 0 | 0 |
| Dee Winters | LB | 6 | 3 | 0.0 | 0 | 0 | 0 | 0 |
| Ji’Ayir Brown | S | 5 | 4 | 0.0 | 0 | 0 | 0 | 0 |
| Keion White | DE | 3 | 3 | 1.0 | 1 | 2 | 0 | 0 |
| Deommodore Lenoir | CB | 4 | 1 | 0.0 | 0 | 0 | 0 | 0 |
| Jordan Elliott | DT | 4 | 0 | 0.0 | 0 | 1 | 0 | 0 |
Team Totals: 69 tackles (38 solo), 3.0 sacks, 5 TFL, 6 QB hits, 1 PD
Fumble Recoveries: Luke Gifford (1), Darrell Luter Jr. (1)
Cleveland Browns Defensive Leaders
| Player | Position | Tackles | Solo | Sacks | TFL | QB Hits | PD | INT |
|---|---|---|---|---|---|---|---|---|
| Carson Schwesinger | LB | 10 | 5 | 0.0 | 1 | 1 | 0 | 0 |
| Ronnie Hickman | S | 8 | 4 | 0.0 | 0 | 0 | 1 | 0 |
| Devin Bush | LB | 7 | 1 | 0.0 | 0 | 0 | 0 | 0 |
| Tyson Campbell | CB | 6 | 3 | 0.0 | 0 | 0 | 2 | 0 |
| Myles Garrett | DE | 5 | 2 | 1.0 | 2 | 3 | 0 | 0 |
| Grant Delpit | S | 5 | 2 | 0.0 | 0 | 0 | 0 | 0 |
| Shelby Harris | DT | 4 | 3 | 0.0 | 1 | 0 | 0 | 0 |
| Mason Graham | DT | 4 | 3 | 0.0 | 0 | 1 | 0 | 0 |
| Mohamoud Diabate | LB | 4 | 1 | 0.0 | 0 | 0 | 0 | 0 |
Team Totals: 73 tackles (28 solo), 1.0 sack, 4 TFL, 7 QB hits, 3 PD
Special Teams Performance
Kicking
San Francisco – Matt Gay
| FG Made | FG Att | Long | XP Made | XP Att | Points |
|---|---|---|---|---|---|
| 2 | 2 | 31 | 2 | 2 | 8 |
Field Goals: 31 yards (4Q), 25 yards (2Q – banked off left upright)
Punting
| Team | Punter | Punts | Yards | Average | Long | Inside 20 | Touchbacks |
|---|---|---|---|---|---|---|---|
| San Francisco | Thomas Morstead | 5 | 178 | 35.6 | 42 | 3 | 0 |
| Cleveland | Corey Bojorquez | 4 | 178 | 44.5 | 49 | 0 | 1 |
Return Game
San Francisco – Skyy Moore
| Type | Returns | Yards | Average | Long | TD |
|---|---|---|---|---|---|
| Kick Returns | 1 | 24 | 24.0 | 24 | 0 |
| Punt Returns | 3 | 69 | 23.0 | 66 | 0 |
Cleveland – Returns
| Player | Type | Returns | Yards | Average | Long | TD |
|---|---|---|---|---|---|---|
| Malachi Corley | Kick | 4 | 73 | 18.3 | 26 | 0 |
| Gage Larvadain | Punt | 3 | 3 | 1.0 | 3 | 0 |
Advanced Analytics
Offensive Efficiency
| Metric | 49ers | Browns |
|---|---|---|
| Average EPA Per Play | +0.032 | -0.249 |
| Average EPA Per Rush | -0.01 | -0.21 |
| Average EPA Per Pass | +0.08 | -0.29 |
| Success Rate | 47% | 33% |
| Explosive Plays (10+ yards) | 8 | 7 |
Passing Breakdown
| Metric | 49ers | Browns |
|---|---|---|
| Completion Percentage | 53.3% | 65.4% |
| Adjusted Completion % | 73% | 83% |
| Average Depth of Target | 9.5 yards | 6.5 yards |
| Air Yards | 126 | 72 |
| Yards After Catch | 48 | 77 |
| Dropped Passes | 0 | 2 |
| Batted Passes | 0 | 0 |
| Throwaways | 8 | 2 |
| Pressures Allowed | 24 | 13 |
| Time to Throw | 3.41 sec | 3.52 sec |
Rushing Breakdown
| Metric | 49ers | Browns |
|---|---|---|
| Explosive Runs (10+ yards) | 0 | 1 |
| Tackles For Loss | 3 | 2 |
| Yards Before Contact | 0.5 | 0.8 |
| Yards After Contact | 2.2 | 3.4 |
| Missed Tackles Forced | 4 | 10 |
Drive Efficiency
| Metric | 49ers | Browns |
|---|---|---|
| Total Drives | 11 | 9 |
| Plays Per Drive | 6.5 | 6.6 |
| Yards Per Drive | 21.0 | 25.2 |
| Points Per Drive | 2.2 | 0.6 |
| Red Zone Attempts | 5 | 1 |
| Red Zone Scores | 5 | 0 |
| Red Zone TDs | 3 | 0 |
Key Injuries
San Francisco 49ers
- LB Nick Martin (concussion, 1st quarter)
- OL Ben Bartch (foot, 2nd half)
- FB Kyle Juszczyk (ribs, 2nd half)
Cleveland Browns
- OT Jack Conklin (concussion, 2nd quarter)
- DT Maliek Collins (knee, 3rd quarter)
- RB Dylan Sampson (calf, 3rd quarter)
San Francisco’s 65% third-down conversion rate proved decisive against Cleveland’s 27% efficiency, while two Cleveland turnovers on a Harold Fannin Jr. fumble and Gage Larvadain muffed punt set up short-field touchdowns that shifted momentum. The 49ers defense recorded three sacks and held the Browns to 76 yards after halftime, while Myles Garrett’s 19th sack of the season extended his NFL lead. The victory kept San Francisco in playoff contention at 9-4, while the Browns fell to 3-9 in Shedeur Sanders’ first home start.

