Buffalo Bills vs Cleveland Browns Match Player Stats
Buffalo Bills vs Cleveland Browns Match Player Stats from the December 21, 2025 matchup tell a much more interesting story than the final 23-20 score suggests. Buffalo won the game, but Cleveland moved the ball effectively on the ground and finished with 160 rushing yards. The Bills, however, produced the more decisive individual performances, especially from James Cook III, while their defense created the turnovers that ultimately separated the teams. Josh Allen had an unusually quiet statistical day through the air, completing 12 of 19 passes for 130 yards without a touchdown or interception. Cleveland quarterback Shedeur Sanders completed 20 of 29 passes for 157 yards, one touchdown, and two interceptions.
The final score alone can make this game look like a narrow, evenly balanced contest. A closer examination of the player statistics reveals a different pattern. Buffalo generated 164 rushing yards at 5.7 yards per carry, scored three rushing touchdowns, avoided losing a fumble, and intercepted Sanders twice. Cleveland produced 160 rushing yards and 157 passing yards, but the Browns could not convert their offensive production into enough points.
This breakdown examines the individual performances, team statistics, defensive impact, special teams contributions, and the statistical reasons Buffalo finished with the victory.
Buffalo Bills vs Cleveland Browns Match Player Stats: Game Overview
The game was played on December 21, 2025, with Buffalo entering at 11-4 overall and 5-3 on the road. Cleveland entered at 3-12 and 2-6 at home.
Buffalo won 23-20, but neither team controlled every quarter.
| Team | Q1 | Q2 | Q3 | Q4 | Final |
| Buffalo Bills | 7 | 13 | 3 | 0 | 23 |
| Cleveland Browns | 7 | 3 | 7 | 3 | 20 |
The quarter-by-quarter scoring is important because Buffalo built its winning margin before halftime. The Bills scored 13 points in the second quarter, giving them a 20-10 advantage at the break.
Cleveland responded with a strong third quarter, scoring seven points while holding Buffalo to three. The Browns then added another three points in the fourth quarter.
Buffalo did not score in the final quarter, which made the closing stages considerably more competitive than the halftime score suggested.
Final Score and Record Context
Buffalo improved to 11-4 with the victory, including a 5-3 road record.
Cleveland dropped to 3-12 and 2-6 at home.
The three-point margin also reflects how important individual plays became. Cleveland did enough offensively to remain within one possession, but Buffalo’s two interceptions and three rushing touchdowns provided the decisive statistical advantages.
Josh Allen’s Passing Performance
Josh Allen completed 12 of 19 passes for 130 yards.
His passing line was:
- Completions: 12
- Attempts: 19
- Completion percentage: 63.2%
- Passing yards: 130
- Average: 6.8 yards per attempt
- Touchdowns: 0
- Interceptions: 0
- Sacks: 2
- Sack yards lost: 35
- Passer rating: 83.2
This was not a typical high-volume Josh Allen passing performance.
Allen did not throw a touchdown and did not turn the ball over through the air. That distinction matters because the Bills did not need their quarterback to carry the offense with passing production. Instead, Buffalo leaned heavily on its running game.
The two sacks for 35 yards also had a meaningful effect on the passing statistics. Although Allen completed 63.2 percent of his attempts, the lost sack yardage limited Buffalo’s overall offensive efficiency.
The most important positive element was ball security. Allen finished without an interception, while Cleveland quarterback Shedeur Sanders threw two.
That 2-0 turnover difference became one of the clearest statistical advantages of the game.
Why Allen’s Modest Numbers Still Worked
A quarterback does not always need to produce a large passing total for his team to win.
Allen’s 130 passing yards might appear modest, especially compared with expectations associated with a quarterback of his profile. However, Buffalo’s running game produced 164 yards and three touchdowns.
That allowed the Bills to use a more balanced offensive approach.
Allen also contributed 17 rushing yards on seven carries. His rushing numbers were not spectacular, but they added another dimension to Buffalo’s ground attack.
The bigger story is that Buffalo did not ask Allen to compensate for a struggling running game. The opposite happened. The rushing attack provided the foundation, allowing the passing game to remain relatively conservative.
James Cook III Was the Offensive Standout
James Cook III produced the most prominent individual rushing performance in the game.
His rushing line was:
- 16 carries
- 117 yards
- 7.3 yards per carry
- 2 touchdowns
- Long run of 44 yards
Cook accounted for more than 70 percent of Buffalo’s rushing yards.
That is significant because Buffalo finished with 164 rushing yards as a team. Cook’s 117 yards represented the majority of that production and gave the Bills a reliable way to sustain offensive momentum.
His 7.3-yard average was also substantially higher than Buffalo’s team rushing average of 5.7 yards.
The Importance of Cook’s 44-Yard Run
Cook’s longest run covered 44 yards.
A single explosive play can have an outsized impact on a close NFL game. Long runs force defensive adjustments, change field position quickly, and can create scoring opportunities without requiring a long series of successful plays.
Cook’s two rushing touchdowns were even more important.
Buffalo scored three rushing touchdowns in total. Cook produced two of them, while Ty Johnson scored the other.
This means the Bills’ rushing attack was not simply accumulating yardage. It was directly responsible for the majority of Buffalo’s touchdowns.
Buffalo’s Other Running Backs
Ty Johnson contributed three carries for 16 yards and one touchdown.
His average was 5.3 yards per carry, which was strong enough to complement Cook’s workload.
Ray Davis added three carries for 14 yards.
Allen also carried seven times for 17 yards.
Together, these contributions produced a balanced rushing distribution behind Cook.
Buffalo’s complete rushing numbers were:
- 29 carries
- 164 yards
- 5.7 yards per carry
- 3 touchdowns
- Long run of 44 yards
The three touchdowns are arguably the most important part of this line.
Buffalo’s passing attack produced zero touchdowns, while the rushing attack produced all three of its touchdowns.
That contrast explains how the Bills could win despite Allen finishing with only 130 passing yards.
Buffalo Receiving Statistics
Khalil Shakir led Buffalo in receptions and receiving yards.
His production included:
- 4 receptions
- 34 yards
Jackson Hawes recorded two catches for 26 yards.
Ray Davis added two receptions for 20 yards.
James Cook III caught one pass for 17 yards.
Dawson Knox had one reception for 10 yards.
Tyrell Shavers caught one pass for 21 yards.
Joshua Palmer finished with one reception for two yards.
Brandin Cooks and Dalton Kincaid were both listed without receptions.
Buffalo’s team receiving total was:
- 12 receptions
- 130 yards
- 10.8 yards per reception
- 0 touchdowns
- Long reception of 21 yards
- 18 targets
The receiving numbers reinforce the idea that this was not a passing-dominated Bills performance.
There was no single Buffalo receiver who produced a massive yardage total. Instead, the passing production was spread across several players.
Khalil Shakir’s Role
Shakir was Buffalo’s leading receiver by receptions and finished with 34 yards.
Four catches gave him one-third of Buffalo’s completed passes.
His role was therefore more significant in terms of consistency than explosive production. Buffalo did not need one receiver to take over the game because Cook and the rushing attack supplied the explosive plays.
Shedeur Sanders’ Passing Performance
Shedeur Sanders completed 20 of 29 passes for 157 yards.
His statistical line was:
- Completions: 20
- Attempts: 29
- Completion percentage: 69.0%
- Passing yards: 157
- Average: 5.4 yards per attempt
- Touchdowns: 1
- Interceptions: 2
- Sacks: 2
- Sack yards lost: 21
- Passer rating: 64.9
On completion percentage alone, Sanders had a higher figure than Allen.
Sanders completed 69.0 percent of his passes compared with Allen’s 63.2 percent.
However, completion percentage does not capture the entire quarterback performance.
Sanders threw two interceptions, while Allen threw none.
The Browns also averaged only 5.4 yards per passing attempt. That suggests Cleveland’s passing game was generally efficient at completing throws but less effective at producing substantial yardage per attempt.
The Two Interceptions
The two interceptions were among the most consequential defensive statistics in the game.
Buffalo recorded interceptions from Jordan Poyer and DaQuan Jones.
Poyer’s interception was returned 10 yards.
Jones’ interception was returned one yard.
Cleveland did not record an interception.
Therefore, the turnover margin from interceptions was two in Buffalo’s favor.
In a three-point game, that is a major factor.
A turnover does not automatically translate into points, but it changes possession and can create field-position advantages. When the final margin is only three points, those possessions become especially important when evaluating why one team won.
Cleveland’s Rushing Attack
One of the most interesting aspects of the game was Cleveland’s rushing production.
The Browns finished with:
- 31 carries
- 160 yards
- 5.2 yards per carry
- 1 touchdown
- Long run of 16 yards
Cleveland’s 160 rushing yards were only four yards below Buffalo’s 164.
That means the Browns were not dominated on the ground.
In fact, the rushing statistics were remarkably close.
Buffalo averaged 5.7 yards per carry, while Cleveland averaged 5.2.
The difference was only 0.5 yards per carry.
This is important because it shows that Cleveland’s defeat was not simply the result of an ineffective rushing attack.
Shedeur Sanders as a Runner
Sanders also contributed 49 rushing yards on four carries.
That produced an exceptional 12.25 yards per carry from his listed rushing total.
Raheim Sanders carried 11 times for 42 yards.
Malachi Corley had three carries for 30 yards.
Quinshon Judkins recorded eight carries for 22 yards.
Trayveon Williams added three carries for 17 yards.
Cleveland therefore received contributions from several runners rather than relying on one player.
The distribution was:
| Player | Carries | Yards |
| Shedeur Sanders | 4 | 49 |
| Raheim Sanders | 11 | 42 |
| Malachi Corley | 3 | 30 |
| Quinshon Judkins | 8 | 22 |
| Trayveon Williams | 3 | 17 |
| Team total | 31 | 160 |
The team total is particularly revealing. Cleveland’s ground game was productive enough to keep the offense competitive.
Cleveland’s Receiving Production
Cleveland recorded 20 receptions for 157 yards.
The Browns also produced one receiving touchdown.
Harold Fannin Jr. was responsible for that touchdown and finished with four receptions for 34 yards.
Trayveon Williams led Cleveland in receiving yardage with 38 yards on four receptions.
Quinshon Judkins caught five passes for 29 yards, giving him the most receptions among Cleveland players.
The complete receiving production included:
- Trayveon Williams: 4 receptions, 38 yards
- Harold Fannin Jr.: 4 receptions, 34 yards, 1 touchdown
- Quinshon Judkins: 5 receptions, 29 yards
- Isaiah Bond: 0 receptions, 21 yards
- Jerry Jeudy: 3 receptions, 12 yards
- Malachi Corley: 2 receptions, 11 yards
- Cedric Tillman: 1 reception, 8 yards
- Raheim Sanders: 1 reception, 4 yards
- Brenden Bates: 0 receptions, 0 yards
Cleveland had 27 targets compared with Buffalo’s 18.
That difference indicates the Browns used the passing game more frequently.
Yet Cleveland’s 157 receiving yards were only 27 yards higher than Buffalo’s 130.
The Browns therefore had more passing volume but did not create a major yardage advantage.
Harold Fannin Jr.’s Touchdown Impact
Harold Fannin Jr. finished with four receptions for 34 yards and one touchdown.
His touchdown was Cleveland’s only receiving score.
That production helped keep the Browns within reach, especially after Buffalo established a 20-10 halftime advantage.
The fact that Cleveland scored only one offensive touchdown through the passing game while Buffalo produced three rushing touchdowns highlights the contrasting ways the two offenses generated points.
Buffalo’s scoring efficiency came largely from the ground.
Cleveland’s offense needed more possessions and more plays to generate its points.
Defensive Player and Team Statistics
Defense was one of the most important areas separating the teams.
Buffalo recorded:
- 79 total tackles
- 35 solo tackles
- 3 sacks
- 5 tackles for loss
- 6 passes defended
- 11 quarterback hits
- 2 interceptions
Cleveland recorded:
- 63 total tackles
- 29 solo tackles
- 2 sacks
- 1 tackle for loss
- 1 pass defended
- 5 quarterback hits
- 0 interceptions
The defensive statistics show Buffalo was more disruptive.
The Bills generated more sacks, more tackles for loss, more passes defended, more quarterback hits, and most importantly, two interceptions.
Buffalo’s Pass-Rush Pressure
Buffalo recorded 11 quarterback hits.
That is more than double Cleveland’s five quarterback hits.
The Bills also registered three sacks compared with Cleveland’s two.
The difference in quarterback pressure helps explain why Cleveland’s passing game did not translate into a stronger scoring output despite Sanders completing nearly 70 percent of his attempts.
Pressure does not always appear directly in a basic box score. However, sacks and quarterback hits provide useful evidence of how frequently a defense affected the opposing passer.
Jordan Poyer and DaQuan Jones Create the Turnover Advantage
Jordan Poyer recorded an interception and returned it 10 yards.
DaQuan Jones also intercepted Sanders, returning the ball one yard.
Cleveland had no interceptions.
This was a clean defensive advantage for Buffalo.
There were no Buffalo fumbles listed, while Cleveland’s Corey Bojorquez had one fumble that was not lost and was recovered.
That means the most meaningful turnover events were the two Cleveland interceptions.
Buffalo’s ability to protect the football while forcing two interceptions gave the Bills a significant possession advantage in a game decided by three points.
Special Teams Performance
Special teams did not receive the same attention as the offensive and defensive statistics, but several individual performances were notable.
Buffalo Kicking
Michael Badgley finished:
- 1 of 1 on field goals
- Long field goal: 41 yards
- 2 of 3 on extra points
- 5 total points
Badgley converted his only field-goal attempt.
His five points contributed to Buffalo’s final total, although the Bills’ touchdowns were the larger source of scoring.
Cleveland Kicking
Andre Szmyt finished:
- 2 of 2 on field goals
- Long field goal: 41 yards
- 2 of 2 on extra points
- 8 total points
Szmyt’s eight points were an important part of Cleveland’s effort to stay close.
Both kickers successfully converted their field-goal attempts.
Kick Returns
Ray Davis led Buffalo’s kick-return production with four returns for 92 yards.
His average was 23.0 yards per return, with a long of 26 yards.
Malachi Corley produced four kick returns for Cleveland totaling 107 yards.
His average was 26.8 yards per return, with a long of 31 yards.
Corley therefore gave Cleveland the stronger kick-return average and greater total return yardage.
Punting Comparison
Buffalo’s Mitch Wishnowsky punted three times for 149 yards.
His average was 49.7 yards per punt, with a long of 62 yards.
Cleveland’s Corey Bojorquez punted twice for 103 yards.
His average was 51.5 yards, with a long of 52 yards.
The Browns had the higher average, but Buffalo had the longer individual punt.
Punting becomes particularly important in a close game because field position can influence how difficult it is for an offense to score.
Why Buffalo Won Despite Modest Passing Numbers
The easiest way to understand the game is to look beyond quarterback yardage.
Buffalo won because several smaller advantages combined.
1. Buffalo’s Running Game Scored Three Touchdowns
The Bills ran for 164 yards and three touchdowns.
James Cook III alone produced 117 yards and two touchdowns.
The Browns ran for 160 yards but scored only one rushing touchdown.
The yardage was nearly identical, but Buffalo converted its ground production into more touchdowns.
2. Buffalo Won the Interception Battle
Buffalo intercepted Sanders twice.
Cleveland intercepted Allen zero times.
In a three-point game, this was a major difference.
3. Buffalo Created More Defensive Pressure
The Bills had:
- 3 sacks
- 11 quarterback hits
- 5 tackles for loss
- 6 passes defended
Cleveland had:
- 2 sacks
- 5 quarterback hits
- 1 tackle for loss
- 1 pass defended
Buffalo’s defense affected the quarterback more consistently.
4. Allen Avoided Interceptions
Allen did not throw a touchdown, but he also did not throw an interception.
That matters when the opposing quarterback throws two.
A conservative passing performance can still be effective when the running game is productive and the defense creates turnovers.
The Most Important Statistical Contrast
One of the strongest observations from this box score is that total offensive yardage does not fully explain the result.
Buffalo’s offense generated:
- 130 passing yards
- 164 rushing yards
- 294 combined yards
Cleveland generated:
- 157 passing yards
- 160 rushing yards
- 317 combined yards
Cleveland therefore produced more total offensive yardage than Buffalo.
Yet Cleveland lost.
That is a valuable lesson when analyzing football statistics.
More yards do not automatically mean more points.
Buffalo generated 23 points from 294 total yards, while Cleveland produced 20 points from 317 total yards.
The Bills were therefore more efficient at turning their production into points.
Red-Zone and Scoring Efficiency Perspective
The supplied box score does not provide a complete red-zone efficiency breakdown, so it would be inappropriate to invent a percentage or claim a specific number of red-zone possessions.
What the available data does show is that Buffalo’s touchdowns were highly concentrated in its rushing attack.
The Bills scored three rushing touchdowns and no passing touchdowns.
Cleveland recorded one rushing touchdown and one receiving touchdown.
This gives us a clear picture of the scoring profile without requiring assumptions about drives that are not included in the provided data.
What the Game Says About Buffalo’s Offensive Identity
This performance demonstrates how a team can win without producing a large passing total.
Josh Allen completed 12 passes for 130 yards, but Buffalo still scored 23 points.
The reason was the running game.
James Cook III provided explosive production, while Ty Johnson added a touchdown and Allen contributed on the ground.
This made Buffalo’s offense less dependent on passing touchdowns.
The Bills also avoided throwing an interception.
That combination of rushing touchdowns and turnover-free passing was enough to overcome a modest passing total.
What the Game Says About Cleveland’s Performance
Cleveland’s 317 total yards show that the Browns were competitive offensively.
Their 160 rushing yards were almost identical to Buffalo’s 164.
Their 157 passing yards exceeded Buffalo’s 130.
They also completed 20 passes compared with Buffalo’s 12.
The problem was not simply a lack of offensive movement.
The more important issue was converting that movement into enough points while protecting the football.
Two interceptions gave Buffalo opportunities that Cleveland could not recover from.
That is why the Browns’ yardage advantage did not become a scoreboard advantage.
Player-by-Player Statistical Leaders
The most notable individual leaders can be summarized as follows.
Buffalo
Rushing leader: James Cook III
16 carries, 117 yards, 2 touchdowns
Passing leader: Josh Allen
12 of 19, 130 yards, 0 touchdowns, 0 interceptions
Receiving leader: Khalil Shakir
4 receptions, 34 yards
Interception leaders: Jordan Poyer and DaQuan Jones
1 interception each
Kick-return leader: Ray Davis
4 returns, 92 yards
Punting leader: Mitch Wishnowsky
3 punts, 149 yards, 49.7 average
Cleveland
Rushing leader by yardage: Shedeur Sanders
4 carries, 49 yards
Passing leader: Shedeur Sanders
20 of 29, 157 yards, 1 touchdown, 2 interceptions
Receiving leader by yardage: Trayveon Williams
4 receptions, 38 yards
Receiving touchdown leader: Harold Fannin Jr.
4 receptions, 34 yards, 1 touchdown
Kick-return leader: Malachi Corley
4 returns, 107 yards
Punting leader: Corey Bojorquez
2 punts, 103 yards, 51.5 average
A Closer Look at Efficiency
Efficiency provides a more useful lens than raw totals.
Buffalo averaged 5.7 yards per rushing attempt.
Cleveland averaged 5.2.
The difference was not dramatic, but Buffalo had the higher average.
In the passing game, Allen averaged 6.8 yards per attempt, while Sanders averaged 5.4.
Again, Buffalo had the higher figure.
Therefore, while Cleveland produced more total passing yards, Buffalo was more efficient per passing attempt.
This is an important distinction.
Cleveland attempted 29 passes compared with Buffalo’s 19. The additional volume helped the Browns reach 157 passing yards, but it did not produce a better efficiency rate.
What Fantasy Football Players Can Learn From the Statistics
Although fantasy football scoring systems vary, several individual performances stand out.
James Cook III was the obvious fantasy-relevant performer for Buffalo because of his 117 rushing yards and two rushing touchdowns.
Allen’s fantasy output would have been more dependent on the scoring system because he produced no passing touchdowns but added 17 rushing yards.
Khalil Shakir offered modest receiving volume with four receptions for 34 yards.
For Cleveland, Sanders’ passing volume was useful from a statistical perspective, but the two interceptions reduced the value of the performance in many fantasy formats.
Harold Fannin Jr.’s touchdown gave him an important scoring boost.
Fantasy managers should always interpret these numbers within their specific scoring format rather than treating raw yardage as the entire picture.
The Biggest Takeaways From the Match
Several conclusions stand out when all the statistics are considered together.
Buffalo’s Defense Was the Difference
The Bills recorded two interceptions and produced more quarterback pressure.
That defensive disruption helped offset Cleveland’s 317 total yards.
James Cook III Was the Game’s Biggest Offensive Difference-Maker
Cook generated 117 rushing yards and two touchdowns.
His 44-yard long run provided explosive production that Cleveland could not match consistently.
Cleveland Actually Moved the Ball Well
The Browns produced more total yards than Buffalo.
That fact should not be ignored simply because Cleveland lost.
Their 160 rushing yards and 157 passing yards show that the offense had productive stretches.
Buffalo Was More Efficient
The Bills scored 23 points from 294 total yards.
Cleveland scored 20 points from 317 total yards.
The difference was not volume. It was how effectively Buffalo converted its opportunities.
Turnovers Mattered
Two interceptions thrown by Cleveland versus none by Buffalo created a major advantage for the Bills.
In a three-point game, that is one of the strongest explanations for the final result.
Frequently Asked Questions
Who won the Buffalo Bills vs Cleveland Browns game on December 21, 2025?
The Buffalo Bills defeated the Cleveland Browns 23-20 on December 21, 2025.
How many rushing yards did James Cook III have?
James Cook III rushed for 117 yards on 16 carries and scored two rushing touchdowns. His longest run was 44 yards.
How did Josh Allen perform against the Browns?
Josh Allen completed 12 of 19 passes for 130 yards with no passing touchdowns and no interceptions. He was sacked twice for 35 yards and finished with an 83.2 passer rating. He also rushed seven times for 17 yards.
How did Shedeur Sanders perform?
Shedeur Sanders completed 20 of 29 passes for 157 yards, one touchdown, and two interceptions. He was sacked twice for 21 yards and recorded a 64.9 passer rating.
Which team had more total offensive yards?
Cleveland had more total offensive yards. The Browns recorded 317 combined passing and rushing yards, while Buffalo recorded 294.
Why did Buffalo win despite having fewer total yards?
Buffalo converted its offensive production more effectively. The Bills scored three rushing touchdowns, avoided interceptions, and forced two interceptions from Cleveland. Those factors outweighed Cleveland’s advantage in total yardage.
Conclusion
The Buffalo Bills vs Cleveland Browns Match Player Stats provide a clear example of why football games cannot be fully understood by looking at total yardage alone.
Buffalo finished with 294 total offensive yards, fewer than Cleveland’s 317, but still won 23-20. The Bills achieved that result through a combination of strong rushing efficiency, touchdown production on the ground, ball security, and defensive turnovers.
James Cook III was the standout offensive player for Buffalo. His 117 rushing yards, 7.3-yard average, two touchdowns, and 44-yard long run gave the Bills the explosive rushing production they needed. Ty Johnson added another rushing touchdown, helping Buffalo score all three of its touchdowns on the ground.
Josh Allen’s passing numbers were modest by his usual standards, but his zero-interception performance was important. Completing 12 of 19 passes for 130 yards was enough because Buffalo’s rushing attack carried a large share of the offensive workload.
Cleveland’s offense deserves credit for producing 317 total yards. Shedeur Sanders completed 20 of 29 passes for 157 yards and one touchdown, while the Browns’ rushing attack generated 160 yards. However, Sanders’ two interceptions created a decisive disadvantage.
The defensive statistics reinforce that conclusion. Buffalo recorded three sacks, 11 quarterback hits, five tackles for loss, six passes defended, and two interceptions. Cleveland recorded two sacks, five quarterback hits, one tackle for loss, one pass defended, and no interceptions.
The most useful lesson from this matchup is that efficiency and situational execution can outweigh raw production. Cleveland gained more total yards, completed more passes, and nearly matched Buffalo’s rushing total. Buffalo still won because it produced more touchdowns on the ground, protected the football better, and created turnovers when opportunities appeared.
For anyone studying NFL player statistics, this game is a useful reminder to examine the relationship between yardage, touchdowns, turnovers, efficiency, and defensive disruption rather than relying on a single headline number.