buffalo bills vs cleveland browns match player stats

Buffalo Bills vs Cleveland Browns: Full Player Stats

Buffalo Bills vs Cleveland Browns Match Player Stats: Full Game Breakdown (December 21, 2025)

The Buffalo Bills came into Cleveland needing a win to maintain their AFC East lead. The Cleveland Browns, playing for pride and momentum heading into the final stretch, had other plans. What followed was a tight, physical battle that came down to a field goal and a Buffalo running game that simply could not be stopped. Final score: Buffalo Bills 23, Cleveland Browns 20.

This complete guide breaks down every layer of the buffalo bills vs cleveland browns match player stats — from the running backs who decided this game to the defensive stops that made the difference in the fourth quarter.

Game at a Glance: Score by Quarter

Before getting into individual player performance, here’s how each quarter shaped this game:

QuarterCleveland BrownsBuffalo Bills
Q177
Q2313
Q373
Q430
Final2023

Buffalo built its lead in the second quarter, but Cleveland answered with a strong third quarter before nearly stealing the win with a fourth-quarter field goal. The Bills held on by three points, thanks to their dominant rushing attack earlier in the game.

Buffalo Bills Team Stats Overview

The Bills did not need a big passing game to win this one. They ran the ball efficiently, protected it perfectly, and let their defense do the rest.

CategoryBuffalo Bills
Total Yards259
Rushing Yards164
Passing Yards130
Rush Attempts29
Pass Attempts19
Completions12
Completion %63.2%
Passing TDs0
Rushing TDs3
Interceptions Thrown0
Sacks Allowed2
Turnovers0
Time of Possession24:37
Penalties5 (35 yards)
First Downs16
Avg Gain Per Play5.2
Passer Rating83.2

Buffalo’s zero turnovers told the story. In a game decided by three points, protecting the ball was the single most important factor.

Cleveland Browns Team Stats Overview

Cleveland actually outgained Buffalo in time of possession and ran more plays — but two costly interceptions erased what could have been a Cleveland win.

CategoryCleveland Browns
Total Yards294
Rushing Yards160
Passing Yards157
Rush Attempts31
Pass Attempts30
Completions20
Completion %66.7%
Passing TDs1
Rushing TDs1
Interceptions Thrown2
Sacks Allowed3
Turnovers2
Time of Possession35:23
Penalties5 (44 yards)
First Downs22
Avg Gain Per Play4.6
Passer Rating62.8

Cleveland actually outgained Buffalo in total yards (294 vs 259) and controlled the ball for over 10 more minutes. This is a critical detail: the Browns moved the ball — they just could not protect it.

Buffalo Bills Rushing Stats: The Ground Game That Won It

The Bills rushed for 164 yards and all three of their touchdowns came on the ground. That is the defining storyline of the buffalo bills vs cleveland browns match player stats.

James Cook

James Cook was the centerpiece. He delivered two rushing touchdowns — including a 44-yard score in Q1 that immediately answered Cleveland’s opening touchdown.

StatTotal
Rushing AttemptsKey carries
Longest Rush44 yards (TD)
Rushing TDs2 (44-yd run Q1, 3-yd run Q2)

Cook’s 44-yard burst was the longest rushing play of the game by either team. He hit the hole, found open space, and showed the speed that makes him one of the AFC’s most dangerous backs. His second score — a grinding 3-yard run in Q2 — pushed the Bills to a 20-10 lead and effectively put the pressure on Cleveland’s offense.

Ty Johnson

Ty Johnson added the Bills’ third rushing touchdown — a 2-yard score up the middle in the second quarter that briefly put Buffalo up 13-7. Johnson’s short-yardage effectiveness proved crucial when the Bills needed to punch it in near the goal line.

StatTotal
Rushing TD1 (2-yard run, Q2)

Bills Rushing Team Totals

StatTotal
Rush Attempts29
Rushing Yards164
Rushing TDs3
Avg Yards Per Carry5.66
Longest Run44 yards
Redzone Rush Attempts6
First Downs via Rush10
Yards After Contact65

Buffalo Bills Passing Stats

The Bills kept it simple through the air. With a 3-0 turnover advantage and a lead to protect, the passing game served as a compliment to the run, not the engine of the offense.

StatTotal
Pass Attempts19
Completions12
Completion %63.2%
Passing Yards130
Passing TDs0
Interceptions0
Sacks Taken2
Sack Yards Lost35
Longest Completion21 yards
Passer Rating83.2
Air Yards27
Avg Pocket Time2.73 seconds
On-Target Throws16
Dropped Passes3

The Bills’ passer made smart, clean decisions — no interceptions and a solid 83.2 rating even without a passing touchdown. Three dropped passes by receivers hurt what could have been a stronger final line.

Buffalo Bills Receiving Stats

StatTotal
Targets18
Receptions12
Receiving Yards130
Receiving TDs0
Avg Yards Per Reception10.83
Longest Reception21 yards
Yards After Catch103
First Downs via Pass6
Redzone Targets2
Dropped Passes3

Buffalo’s receivers gained over 100 yards after the catch — a sign that quick, short throws were gaining significant ground after the ball arrived.

Cleveland Browns Rushing Stats

Cleveland ran the ball well on this day. Their ground game gave them a platform to compete — and Hakeem Fannin’s rushing touchdown in Q3 was the moment Cleveland briefly looked like they might steal this win.

StatTotal
Rush Attempts31
Rushing Yards160
Rushing TDs1
Avg Yards Per Carry5.16
Longest Run16 yards
Redzone Rush Attempts7
First Downs via Rush12
Yards After Contact89
Scrambles4

Cleveland actually matched Buffalo nearly yard-for-yard on the ground. The difference was not the rushing game — it was the passing game and the turnovers.

Hakeem Fannin — Receiving & Rushing Highlight

Hakeem Fannin had the biggest individual game for the Browns, contributing on both sides of the ball:

  • Receiving TD: Caught a 13-yard scoring pass from Sanders in Q1 (13-yard reception)
  • Rushing TD: Ran for 1 yard up the middle for a score in Q3

Fannin was Cleveland’s most complete offensive weapon in this game. His Q3 rushing score cut the Bills lead to 23-17 and gave Cleveland real hope entering the fourth quarter.

Cleveland Browns Passing Stats

Sanders led Cleveland’s passing attack and moved the ball — but two interceptions wiped out what could have been a winning performance.

StatTotal
Pass Attempts30
Completions20
Completion %66.7%
Passing Yards157
Passing TDs1
Interceptions2
Sacks Taken3
Sack Yards Lost23
Longest Completion26 yards
Passer Rating62.8
Avg Pocket Time2.81 seconds
On-Target Throws22
Throw-Aways3
Poor Throws2
Blitzes Faced10
Batted Passes3

Sanders’ completion percentage (66.7%) was actually higher than Buffalo’s, and he threw for a touchdown. But two interceptions — both returned by Buffalo — dropped his passer rating to 62.8 and proved decisive.

Cleveland Browns Receiving Stats

StatTotal
Targets27
Receptions20
Receiving Yards157
Receiving TDs1
Avg Yards Per Reception7.85
Longest Reception26 yards
Yards After Catch142
First Downs via Pass8
Redzone Targets3
Dropped Passes1

Cleveland’s receivers did their job — one drop, 142 yards after the catch, and a touchdown reception. The issue was not the receiving corps. The turnovers were the issue.

Defensive Stats: Bills Defense Was the Difference

Buffalo’s defense stepped up in every critical moment of this game. Two interceptions, three sacks, and 11 quarterback hits on just 19 passes thrown — the Bills defensive unit made Cleveland’s offense pay for every mistake.

Buffalo Bills Defense

Defensive StatTotal
Total Tackles32
Tackle Assists40
Combined Tackles72
Sacks3.0
Sack Yards23
Interceptions2
Interception Return Yards11
Passes Defended6
QB Hits11
Tackles for Loss5.0
TFL Yards29
Blitzes Sent13
Forced Three-and-Outs1
4th Down Stops1
Batted Passes3
Missed Tackles6

Two interceptions with zero touchdowns surrendered through the air by their own offense — the Bills defense completely controlled the turnover battle. Buffalo’s 11 QB hits on Sanders was a relentless defensive pressure campaign that disrupted timing all game.

Cleveland Browns Defense

Defensive StatTotal
Total Tackles25
Tackle Assists26
Combined Tackles51
Sacks2.0
Sack Yards35
Interceptions0
Passes Defended1
QB Hits5
Tackles for Loss1.0
TFL Yards13
Blitzes Sent3
Forced Three-and-Outs3
4th Down Stops2
Missed Tackles4

Cleveland’s defense forced three three-and-outs and took two sacks — solid work. But the offense’s two turnovers gave the defense impossible situations to overcome.

Scoring Plays: Drive-by-Drive Breakdown

Every point scored in this game, in order:

TimeQuarterPlayScore
10:47Q1Sanders pass to H. Fannin, 13-yard TDCLE 6 – BUF 0
10:42Q1A. Szmyt extra point goodCLE 7 – BUF 0
7:58Q1J. Cook 44-yard rushing TDCLE 7 – BUF 6
7:47Q1M. Badgley extra point goodCLE 7 – BUF 7
12:57Q2T. Johnson 2-yard rushing TDCLE 7 – BUF 13
12:54Q2M. Badgley extra point no goodCLE 7 – BUF 13
5:41Q2A. Szmyt 24-yard FG goodCLE 10 – BUF 13
2:27Q2J. Cook 3-yard rushing TDCLE 10 – BUF 19
2:23Q2M. Badgley extra point goodCLE 10 – BUF 20
9:41Q3M. Badgley 41-yard FG goodCLE 10 – BUF 23
1:39Q3H. Fannin 1-yard rushing TDCLE 16 – BUF 23
1:36Q3A. Szmyt extra point goodCLE 17 – BUF 23
8:50Q4A. Szmyt 41-yard FG goodCLE 20 – BUF 23

Final: Buffalo Bills 23 – Cleveland Browns 20

The fourth quarter was scoreless for Buffalo. Cleveland’s 41-yard field goal with 8:50 remaining in Q4 made it a one-possession game, but the Bills defense held from that point forward.

Kickers and Special Teams Stats

Buffalo Bills Kicking

KickerStatTotal
M. BadgleyFG Attempts1
M. BadgleyFG Made1
M. BadgleyFG Distance41 yards
M. BadgleyFG %100%
M. BadgleyExtra Points2/3 (1 missed)

Badgley’s missed extra point after Ty Johnson’s Q2 touchdown — the kick hit the upright — meant Buffalo finished at 23 instead of 24. In a 3-point game, that missed PAT will be discussed for a long time in Buffalo.

Cleveland Browns Kicking

KickerStatTotal
A. SzmytFG Attempts2
A. SzmytFG Made2
A. SzmytFG %100%
A. SzmytFG Distances24 yards, 41 yards
A. SzmytExtra Points3/3

Szmyt was perfect on the day — 2-for-2 on field goals and a clean 3-for-3 on extra points. He gave Cleveland every point the offense earned.

Punting and Return Game Stats

Punting

TeamPunterAttemptsAvg YardsLongestInside-20
Buffalo BillsM. Wishnowsky349.762 yards0
Cleveland BrownsC. Bojorquez251.552 yards1

Kick Returns

TeamAttemptsTotal YardsAvgLongest
Buffalo Bills492 yards23.026 yards
Cleveland Browns4107 yards26.7531 yards

Punt Returns

TeamAttemptsTotal YardsAvgLongest
Buffalo Bills27 yards3.54 yards
Cleveland Browns13 yards3.03 yards

Neither team broke a return. Special teams played it conservative, and field position rarely swung dramatically in either direction.

Turnover Battle: The Margin That Decided Everything

Turnover TypeBuffalo BillsCleveland Browns
Interceptions Thrown02
Fumbles Lost00
Total Turnovers02

This table tells the story of the game in three rows. Cleveland moved the ball. Cleveland ran it effectively. Cleveland’s receivers caught 20 passes. None of it was enough to overcome two turnovers against a Buffalo defense that converted that turnover margin into field position and ultimately into a three-point win.

First Downs and Possession Breakdown

StatBuffalo BillsCleveland Browns
Total First Downs1622
First Downs by Rush1012
First Downs by Pass68
First Downs by Penalty02
Time of Possession24:3735:23
Total Plays Run5064

Cleveland ran 14 more plays and held the ball for over 10 more minutes — and still lost. This is the clearest sign of how much the two turnovers cost the Browns. Quality of possessions, not quantity, decided this game.

Penalty Summary

TeamPenaltiesYards Lost
Buffalo Bills535
Cleveland Browns5 (2 giving 1st downs)44

Both teams were penalized equally in count, but Cleveland’s penalties gave Buffalo two first downs and cost 9 more yards. In tight games, penalty discipline shapes outcomes — and Cleveland paid a small but real price here.

Key Performance Matchup Table

Performance CategoryBuffalo BillsCleveland BrownsEdge
Total Yards259294Browns
Rushing Yards164160Bills (slight)
Passing Yards130157Browns
Rushing TDs31Bills
Passing TDs01Browns
Turnovers02Bills
Sacks Taken23Bills
Interceptions Taken20Bills
Time of Possession24:3735:23Browns
Completion %63.2%66.7%Browns
Passer Rating83.262.8Bills
First Downs1622Browns
QB Hits Landed115Bills
Field Goal %100%100%Tie
Final Score2320Bills WIN

The Bills won 6 of 15 statistical categories outright — but they won the categories that matter most: turnovers, sacks on the opposing QB, rushing touchdowns, and interceptions taken. Football rewards efficiency over volume, and the Bills were the more efficient team.

FAQs: Buffalo Bills vs Cleveland Browns Match Player Stats

Who won the Buffalo Bills vs Cleveland Browns game on December 21, 2025?

The Buffalo Bills won 23-20 in a close, physical game played at Cleveland. The Bills needed every point, as Cleveland closed to within three with a fourth-quarter field goal but could not complete the comeback.

Supporting detail: Buffalo led for most of the second half but never put the game away comfortably. James Cook’s two rushing touchdowns and the Bills defense’s two interceptions were the defining performances in the final result.

Who had the most rushing yards in the Bills vs Browns match player stats?

Buffalo edges Cleveland in this category — the Bills rushed for 164 yards versus Cleveland’s 160. James Cook led the ground attack with two touchdowns, including a 44-yard run that was the longest rushing play of the game.

Supporting detail: Both teams committed to the run, making this genuinely a ground battle. Cleveland’s 31 rush attempts compared to Buffalo’s 29 shows how close the rushing strategies were — but Cook’s big-play ability gave the Bills the edge.

How many interceptions did the Buffalo Bills defense take against the Browns?

Buffalo’s defense intercepted Cleveland’s quarterback twice. The two interceptions returned for a combined 11 yards gave the Bills outstanding field position and completely shut down Cleveland’s ability to come back from any deficit.

Supporting detail: Cleveland’s quarterback completed 20 of 30 passes (66.7%) but the two interceptions dropped his passer rating to 62.8. The Bills sent 13 blitzes and registered 11 quarterback hits — a sustained defensive pressure campaign.

What was James Cook’s stat line in the Bills vs Browns game?

James Cook scored two rushing touchdowns — a 44-yard burst in Q1 and a 3-yard run in Q2. His 44-yard score immediately erased Cleveland’s early 7-0 lead and set the physical tone for the entire game.

Supporting detail: Cook’s explosiveness was the centerpiece of a Bills rushing attack that finished with 5.66 yards per carry. Buffalo’s entire game plan built around Cook’s ability to find space against Cleveland’s front seven.

Did the Cleveland Browns have any missed scoring opportunities?

Yes — two significant ones. Cleveland’s 2 interceptions were the most damaging, eliminating drives that could have produced points. Additionally, Buffalo’s own kicker missed one extra point (after Ty Johnson’s Q2 touchdown), which meant Buffalo won 23-20 instead of 24-20 — a small margin that made Cleveland’s late field goal look far more threatening than it should have.

Supporting detail: Cleveland also left points on the field through three sacks (23 lost yards) and two poor throws. The combination of turnovers and pressure-forced mistakes meant the Browns generated less from their 294 total yards than those yards deserved.

How did Buffalo’s passing stats compare to Cleveland’s in this game?

Cleveland’s quarterback actually completed passes at a higher rate (66.7% vs 63.2%) and threw for more yards (157 vs 130). But Buffalo’s passer threw zero interceptions and held a passer rating of 83.2 compared to Cleveland’s 62.8 — the turnovers are what drove that gap.

Supporting detail: Buffalo’s game plan prioritized ball security over production. With a running game generating 164 yards and three scores, the Bills passing attack only needed to manage the game — and it did exactly that. Cleveland needed their passing game to produce more to compensate for the turnovers, and it fell short.

What These Stats Mean for Both Teams Going Forward

For the Buffalo Bills, this win confirmed something important: this team does not need Josh Allen to throw for 300 yards to win. A ground-heavy game plan with zero turnovers and a defense that creates interceptions is a complete, championship-caliber formula.

For the Cleveland Browns, the lesson is equally clear. Their offense moved the ball well enough to win. They controlled time of possession by 10 minutes. Their receivers caught 20 passes. None of that mattered because two turnovers handed the game to a team that capitalized completely.

The buffalo bills vs cleveland browns match player stats reveal a game that was far closer than three points suggests — and one that Cleveland will feel they left behind.

Final Numbers at a Glance

CategoryBuffalo BillsCleveland Browns
Final Score2320
Total Yards259294
Rushing TDs31
Turnovers02
Interceptions (Taken)20
Passer Rating83.262.8
Sacks32
Penalties5 (35 yds)5 (44 yds)
Field Goals1/12/2
Time of Possession24:3735:23

If you want the full box score history for every Bills game this 2025 NFL season, or a deeper breakdown of James Cook’s season-long rushing statistics, those analyses are available. This game was one chapter in what has been a high-stakes AFC season — and the buffalo bills vs cleveland browns match player stats make the story of that chapter easy to read.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *