FantasyHQ · Game Recap

NFL · Week 16 · December 21, 2025 · 12 min read

Buffalo Bills vs. Cleveland Browns: 2025 Week 16 Recap

Bills defeat Browns 23–20 in Week 16

James Cook III led Fantasy Impact as Bills prevailed in a 23–20 Week 16 finish.

Buffalo Bills 23 11–4 Winner
Final 23–20
Cleveland Browns 20 3–12
Winner
Buffalo Bills
Final score
23–20
Halftime
Buffalo Bills 20–10 Cleveland Browns
Top passer
Shedeur Sanders
FantasyHQ MVP
James Cook III
Game date
December 21, 2025

Top fantasy performers · Bills

  • James Cook III
    James Cook III 16 CAR · 117 YDS · 2 TD +6.1 Fantasy Impact
  • Ty Johnson
    Ty Johnson 3 CAR · 16 YDS · 1 TD +2.2 Fantasy Impact
  • Ryan Davis
    Ryan Davis 2 REC · 20 YDS +1.7 Fantasy Impact

Top fantasy performers · Browns

  • Jerry Jeudy
    Jerry Jeudy 3 REC · 12 YDS +2.3 Fantasy Impact
  • Raheim Sanders
    Raheim Sanders 11 CAR · 42 YDS +1.8 Fantasy Impact
  • Tyleik Williams
    Tyleik Williams 4 REC · 38 YDS +1.7 Fantasy Impact

Quick answer

Winner
Buffalo Bills
Final score
Buffalo Bills 23–20 Cleveland Browns
Halftime
Buffalo Bills 20–10 Cleveland Browns at halftime
FantasyHQ MVP
James Cook III
Top passer
Shedeur Sanders
Biggest EPA play
(10:47) 12-S.Sanders pass short right intended for 83-M.Corley INTERCEPTED by 92-D.Jones (…
Game date
2025-12-21

Game summary

The Buffalo Bills beat the Cleveland Browns 23–20 on 2025-12-21. James Cook III posted a game-high +6.08 total EPA in the rushing.

The highest-scoring period was Q2 with 16 combined points.

Line score

Final score and points by quarter.

Q1Q2Q3Q4T
Buffalo Bills71330023
Cleveland Browns7373020

Scoring Map

Each pin marks where a score occurred on the field — yard line from play-by-play.

BUFBuffalo Bills
CLECleveland Browns

FantasyHQ Analytics

Scoring timeline

12 scores

Chronological scoring plays — scroll to follow the game.

  1. CLECleveland Browns
    Q1 10:47TD
    Harold Fannin Jr.

    Points+6

    Yard line
    BUF 13
    Score
    0-6

    (10:47) 12-S.Sanders pass short right to 44-H.Fannin for 13 yards, TOUCHDOWN.

  2. CLECleveland Browns
    Q1 10:42XP
    Andre Szmyt

    Points+1

    Yard line
    BUF 15
    Score
    0-7

    25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.

  3. BUFBuffalo Bills
    Q1 7:58TD
    James Cook III

    Points+6

    Yard line
    CLE 44
    Score
    6-7

    (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN.

  4. BUFBuffalo Bills
    Q1 7:47XP
    Michael Badgley

    Points+1

    Yard line
    CLE 15
    Score
    7-7

    32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.

  5. BUFBuffalo Bills
    Q2 12:57TD

    Points+6

    Yard line
    CLE 2
    Score
    13-7

    (12:57) (No Huddle) 26-Ty.Johnson up the middle for 2 yards, TOUCHDOWN.

  6. CLECleveland Browns
    Q2 5:41FG
    Andre Szmyt

    Points+3

    Yard line
    BUF 6
    Score
    13-10

    (5:41) 25-A.Szmyt 24 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.

  7. BUFBuffalo Bills
    Q2 2:27TD
    James Cook III

    Points+6

    Yard line
    CLE 3
    Score
    19-10

    (2:27) (No Huddle) 4-J.Cook up the middle for 3 yards, TOUCHDOWN.

  8. BUFBuffalo Bills
    Q2 2:23XP
    Michael Badgley

    Points+1

    Yard line
    CLE 15
    Score
    20-10

    32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.

  9. BUFBuffalo Bills
    Q3 9:41FG
    Michael Badgley

    Points+3

    Yard line
    CLE 23
    Score
    23-10

    (9:41) 32-M.Badgley 41 yard field goal is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.

  10. CLECleveland Browns
    Q3 1:39TD
    Harold Fannin Jr.

    Points+6

    Yard line
    BUF 1
    Score
    23-16

    (1:39) 70-Z.Zinter and 98-A.Huntington reported in as eligible. 44-H.Fannin up the middle for 1 yard, TOUCHDOWN.

  11. CLECleveland Browns
    Q3 1:36XP
    Andre Szmyt

    Points+1

    Yard line
    BUF 15
    Score
    23-17

    25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.

  12. CLECleveland Browns
    Q4 8:50FG
    Andre Szmyt

    Points+3

    Yard line
    BUF 23
    Score
    23-20

    (8:50) 25-A.Szmyt 41 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.

Stars of the game

Top performers by total expected points added (EPA).

  1. 1James Cook IIIJames Cook III · Buffalo Bills · Rushing · +6.08 total EPA · 16 snaps · +0.38 EPA/play
  2. 2Jerry JeudyJerry Jeudy · Cleveland Browns · Receiving · +2.32 total EPA · 4 snaps · +0.58 EPA/play
  3. 3Ty JohnsonTy Johnson · Buffalo Bills · Rushing · +2.25 total EPA · 3 snaps · +0.75 EPA/play
  4. 4Raheim SandersRaheim Sanders · Cleveland Browns · Rushing · +1.79 total EPA · 11 snaps · +0.16 EPA/play
  5. 5Ryan DavisRyan Davis · Buffalo Bills · Receiving · +1.71 total EPA · 2 snaps · +0.86 EPA/play
  6. 6Tyleik WilliamsTyleik Williams · Cleveland Browns · Receiving · +1.67 total EPA · 4 snaps · +0.42 EPA/play
  7. 7Tyleik WilliamsTyleik Williams · Cleveland Browns · Rushing · +1.50 total EPA · 3 snaps · +0.50 EPA/play
  8. 8Malachi CorleyMalachi Corley · Cleveland Browns · Rushing · +1.30 total EPA · 3 snaps · +0.43 EPA/play

FantasyHQ Game MVP

Highest total EPA with the player's top snap and the game's biggest single play when different.

James Cook III

FantasyHQ Game MVP

James Cook III — BUF · Rushing

James Cook III posted the highest total EPA (+6.08) in the game, the strongest overall impact for Buffalo Bills. Across 16 counted snaps, they averaged +0.38 EPA per play.

James Cook III's top snap (+4.23 EPA): (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN.

Biggest single play (-6.18 EPA): Shedeur Sanders — (10:47) 12-S.Sanders pass short right intended for 83-M.Corley INTERCEPTED by 92-D.Jones (97-J.Bosa) at CLE 26. 92-D.Jones to CLE 25 for 1 yard (56-L.Wypler; 44-H.Fannin).

Quarterback report card

Shedeur Sanders led all passers in efficiency for Cleveland Browns, setting the tone in the passing game according to FantasyHQ analytics.

  • Shedeur SandersShedeur Sanders (Cleveland Browns) · 37 dropbacks · 54.1% completion · +1.4% CPOE · -0.20 EPA/play · -7.28 total EPA
  • Jonathan AllenJonathan Allen (Buffalo Bills) · 23 dropbacks · 52.2% completion · -0.9% CPOE · -0.34 EPA/play · -7.89 total EPA

Team stats comparison

Side-by-side offensive and defensive efficiency.

StatBuffalo BillsCleveland Browns
Offensive EPA/play-0.002-0.075
Offensive success rate50.8%51.2%
Pass EPA/play-0.343-0.269
Rush EPA/play+0.432+0.089
Defensive EPA/play+0.075+0.002
Defensive success rate48.8%49.2%

Drive & efficiency notes

Despite the final score, Buffalo Bills generated the better offensive EPA per play (-0.00 vs -0.07), suggesting they moved the ball more efficiently.

Season benchmark context (offensive EPA per play):

  • Buffalo Bills: -0.00 EPA/play (45th percentile vs. 2025 team-game averages)
  • Cleveland Browns: -0.07 EPA/play (29th percentile vs. 2025 team-game averages)
  • Buffalo Bills: 10 drives, -0.10 total EPA, 4 scoring drives
  • Cleveland Browns: 10 drives, -5.97 total EPA, 4 scoring drives
Who scored touchdowns and field goals

Every touchdown and field goal from official play-by-play.

Touchdowns

  • Harold Fannin Jr.Cleveland Browns — Harold Fannin Jr. (Shedeur Sanders pass) (Q1 10:47)
  • James Cook IIIBuffalo Bills — James Cook III (Q1 7:58)
  • Buffalo Bills — unlisted player (Q2 12:57)
  • James Cook IIIBuffalo Bills — James Cook III (Q2 2:27)
  • Harold Fannin Jr.Cleveland Browns — Harold Fannin Jr. (Q3 1:39)

Field goals

  • Andre SzmytCleveland Browns — Andre Szmyt (Q2 5:41)
  • Michael BadgleyBuffalo Bills — Michael Badgley (Q3 9:41)
  • Andre SzmytCleveland Browns — Andre Szmyt (Q4 8:50)
Quarter by quarter

Quarter-by-quarter recap from live scoring plays.

The opening quarter: The quarter finished even at 7–7. Cleveland Browns found the end zone from the BUF 13 (Q1 10:47) — (10:47) 12-S.Sanders pass short right to 44-H.Fannin for 13 yards, TOUCHDOWN.; Cleveland Browns added 1 points from the BUF 15 (Q1 10:42) — 25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.; Buffalo Bills found the end zone from the CLE 44 (Q1 7:58) — (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN.; Buffalo Bills added 1 points from the CLE 15 (Q1 7:47) — 32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky..

The second quarter: Buffalo Bills won the period 13–3. Buffalo Bills found the end zone from the CLE 2 (Q2 12:57) — (12:57) (No Huddle) 26-Ty.Johnson up the middle for 2 yards, TOUCHDOWN.; Cleveland Browns connected on a field goal from the BUF 6 (Q2 5:41) — (5:41) 25-A.Szmyt 24 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.; Buffalo Bills found the end zone from the CLE 3 (Q2 2:27) — (2:27) (No Huddle) 4-J.Cook up the middle for 3 yards, TOUCHDOWN.; Buffalo Bills added 1 points from the CLE 15 (Q2 2:23) — 32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky..

The third quarter: Cleveland Browns won the period 7–3. Buffalo Bills connected on a field goal from the CLE 23 (Q3 9:41) — (9:41) 32-M.Badgley 41 yard field goal is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.; Cleveland Browns found the end zone from the BUF 1 (Q3 1:39) — (1:39) 70-Z.Zinter and 98-A.Huntington reported in as eligible. 44-H.Fannin up the middle for 1 yard, TOUCHDOWN.; Cleveland Browns added 1 points from the BUF 15 (Q3 1:36) — 25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez..

The fourth quarter: Cleveland Browns won the period 3–0. Cleveland Browns connected on a field goal from the BUF 23 (Q4 8:50) — (8:50) 25-A.Szmyt 41 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez..

Turning points

Plays that moved win probability the most.

  • Buffalo Bills (Q4 2:53) — (2:53) 17-J.Allen pass incomplete short right to 88-D.Knox. [WPA -16.3% · EPA -3.67]
  • Cleveland Browns (Q4 5:08) — (5:08) (Shotgun) 12-S.Sanders sacked at CLE 31 for -13 yards (50-G.Rousseau). [WPA -15.6% · EPA -3.71]
  • Cleveland Browns (Q1 3:03) — (3:03) (Shotgun) 12-S.Sanders pass short middle intended for 10-Q.Judkins INTERCEPTED by 21-J.Poyer at BUF 29. 21-J.Poyer to BUF 39 for 10 yards (56-L.Wypler). [WPA -14.1% · EPA -4.97]
  • Buffalo Bills (Q1 7:58) — (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN. [WPA +12.1% · EPA +4.23]
  • Cleveland Browns (Q3 10:47) — (10:47) 12-S.Sanders pass short right intended for 83-M.Corley INTERCEPTED by 92-D.Jones (97-J.Bosa) at CLE 26. 92-D.Jones to CLE 25 for 1 yard (56-L.Wypler; 44-H.Fannin). [WPA -12.0% · EPA -6.18]
Impact plays

Highest EPA snaps that flipped field position.

  • Cleveland Browns (Q3 10:47) — (10:47) 12-S.Sanders pass short right intended for 83-M.Corley INTERCEPTED by 92-D.Jones (97-J.Bosa) at CLE 26. 92-D.Jones to CLE 25 for 1 yard (56-L.Wypler; 44-H.Fannin). [WPA -12.0% · EPA -6.18]
  • Cleveland Browns (Q1 3:03) — (3:03) (Shotgun) 12-S.Sanders pass short middle intended for 10-Q.Judkins INTERCEPTED by 21-J.Poyer at BUF 29. 21-J.Poyer to BUF 39 for 10 yards (56-L.Wypler). [WPA -14.1% · EPA -4.97]
  • Buffalo Bills (Q1 7:58) — (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN. [WPA +12.1% · EPA +4.23]
  • Cleveland Browns (Q4 5:08) — (5:08) (Shotgun) 12-S.Sanders sacked at CLE 31 for -13 yards (50-G.Rousseau). [WPA -15.6% · EPA -3.71]
Every scoring play

Chronological scoring with play-by-play context.

  1. Cleveland Browns TD (+6) — Q1 10:47 · BUF 13 · Score 0-6
    (10:47) 12-S.Sanders pass short right to 44-H.Fannin for 13 yards, TOUCHDOWN.
  2. Cleveland Browns XP (+1) — Q1 10:42 · BUF 15 · Score 0-7
    25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.
  3. Buffalo Bills TD (+6) — Q1 7:58 · CLE 44 · Score 6-7
    (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN.
  4. Buffalo Bills XP (+1) — Q1 7:47 · CLE 15 · Score 7-7
    32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.
  5. Buffalo Bills TD (+6) — Q2 12:57 · CLE 2 · Score 13-7
    (12:57) (No Huddle) 26-Ty.Johnson up the middle for 2 yards, TOUCHDOWN.
  6. Cleveland Browns FG (+3) — Q2 5:41 · BUF 6 · Score 13-10
    (5:41) 25-A.Szmyt 24 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.
  7. Buffalo Bills TD (+6) — Q2 2:27 · CLE 3 · Score 19-10
    (2:27) (No Huddle) 4-J.Cook up the middle for 3 yards, TOUCHDOWN.
  8. Buffalo Bills XP (+1) — Q2 2:23 · CLE 15 · Score 20-10
    32-M.Badgley extra point is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.
  9. Buffalo Bills FG (+3) — Q3 9:41 · CLE 23 · Score 23-10
    (9:41) 32-M.Badgley 41 yard field goal is GOOD, Center-69-R.Ferguson, Holder-19-M.Wishnowsky.
  10. Cleveland Browns TD (+6) — Q3 1:39 · BUF 1 · Score 23-16
    (1:39) 70-Z.Zinter and 98-A.Huntington reported in as eligible. 44-H.Fannin up the middle for 1 yard, TOUCHDOWN.
  11. Cleveland Browns XP (+1) — Q3 1:36 · BUF 15 · Score 23-17
    25-A.Szmyt extra point is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.
  12. Cleveland Browns FG (+3) — Q4 8:50 · BUF 23 · Score 23-20
    (8:50) 25-A.Szmyt 41 yard field goal is GOOD, Center-50-R.Sunahara, Holder-13-C.Bojorquez.

Key takeaways

What to remember for fantasy research and follow-up box score digging.

  • Buffalo Bills earned the result — use the box score for snap-level context.
  • One-score margin — verify garbage-time stats before drawing fantasy conclusions.
  • James Cook III (Buffalo Bills) led total EPA — start here for highlight and prop research.

Frequently asked questions

Who won Buffalo Bills vs Cleveland Browns on 2025-12-21?

The Buffalo Bills beat the Cleveland Browns 23-20 in Week 16, 2025.

What was the score by quarter in Buffalo Bills vs Cleveland Browns?

Q1: Buffalo Bills 7, Cleveland Browns 7; Q2: Buffalo Bills 13, Cleveland Browns 3; Q3: Buffalo Bills 3, Cleveland Browns 7; Q4: Buffalo Bills 0, Cleveland Browns 3; Final: Buffalo Bills 23, Cleveland Browns 20.

Who scored touchdowns and field goals in Buffalo Bills vs Cleveland Browns?

Cleveland Browns touchdown — H. Fannin (S. Sanders pass) (Q1 10:47) Buffalo Bills touchdown — J. Cook (Q1 7:58) Buffalo Bills touchdown — unlisted player (Q2 12:57) Buffalo Bills touchdown — J. Cook (Q2 2:27) Cleveland Browns touchdown — H. Fannin (Q3 1:39) Cleveland Browns field goal — A. Szmyt (Q2 5:41, 3 pts) Buffalo Bills field goal — M. Badgley (Q3 9:41, 3 pts) Cleveland Browns field goal — A. Szmyt (Q4 8:50, 3 pts) Extra points followed each touchdown unless noted in the play-by-play.

How did the quarterbacks play in Buffalo Bills vs Cleveland Browns?

Shedeur Sanders (Cleveland Browns), 54.1% completion, +1.4% CPOE, -0.20 EPA per dropback, -7.28 total passing EPA. Jonathan Allen (Buffalo Bills), 52.2% completion, -0.9% CPOE, -0.34 EPA per dropback, -7.89 total passing EPA.

Who was FantasyHQ's player of the game in Buffalo Bills vs Cleveland Browns?

James Cook III (Buffalo Bills) was FantasyHQ's Game MVP with +6.08 total EPA on Rushing plays. across 16 snaps. Their top snap (+4.23 EPA): (7:58) 4-J.Cook up the middle for 44 yards, TOUCHDOWN..

Was Buffalo Bills vs Cleveland Browns a close game?

Yes — the margin was 3 points. Buffalo Bills won 23-20 in a game that came down to the wire.

Season records after this game

Buffalo Bills

Entered 10-4 Now 11-4 W

Cleveland Browns

Entered 3-11 Now 3-12 L