AFC Divisional Round | January 17, 2026 | Empower Field at Mile High, Denver, CO Final: Denver Broncos 33, Buffalo Bills 30 (OT) | Attendance: 77,043 | Weather: 36°F, 5 mph wind | Vegas Line: DEN -1.5 | O/U: 46.0
Josh Allen had gone six straight playoff appearances without a single turnover. On January 17 in Denver, he threw two interceptions, lost two fumbles, and watched the Buffalo Bills turn a dominant statistical performance into a 33-30 overtime loss.
The Denver Broncos converted all five Buffalo turnovers into points, built a 23-10 lead, survived a Bills comeback, and punched their way into the AFC Championship when Wil Lutz split the uprights from 23 yards out in overtime. It was Denver’s first playoff win in a decade.
Allen stood at the podium afterward, visibly emotional. “I felt like I let my teammates down,” he said.
What happened next — nearly an hour after the final whistle — made the win feel complicated in a way nobody was ready for.
Table of Contents
Scoring Summary
| Qtr | Time | Play | BUF | DEN |
|---|---|---|---|---|
| 1st | 7:29 | Wil Lutz 28-yd FG | 0 | 3 |
| 1st | 0:05 | Mecole Hardman 4-yd pass from Allen (Prater kick) | 7 | 3 |
| 2nd | 9:33 | Frank Crum 7-yd pass from Nix (Lutz kick) | 7 | 10 |
| 2nd | 2:13 | Matt Prater 33-yd FG | 10 | 10 |
| 2nd | 0:22 | Lil’Jordan Humphrey 29-yd pass from Nix (Lutz kick) | 10 | 17 |
| 2nd | 0:00 | Wil Lutz 50-yd FG | 10 | 20 |
| 3rd | 11:35 | Wil Lutz 33-yd FG | 10 | 23 |
| 3rd | 6:49 | Keon Coleman 10-yd pass from Allen (Prater kick) | 17 | 23 |
| 4th | 13:24 | Dalton Kincaid 14-yd pass from Allen (Prater kick) | 24 | 23 |
| 4th | 4:11 | Matt Prater 31-yd FG | 27 | 23 |
| 4th | 0:55 | Marvin Mims 26-yd pass from Nix (Lutz kick) | 27 | 30 |
| 4th | 0:05 | Matt Prater 50-yd FG | 30 | 30 |
| OT | 4:44 | Wil Lutz 23-yd FG (game-winner) | 30 | 33 |
Denver scored 17 unanswered points in the final 1:51 of the first half, all of it built directly on Buffalo mistakes. The Bills never scored again until midway through the third quarter.
Team Stats: Bills vs. Broncos Full Comparison
| Stat | Buffalo Bills | Denver Broncos |
|---|---|---|
| Total Yards | 449 | 349 |
| Net Passing Yards | 266 | 279 |
| Rushing Yards | 183 | 70 |
| Total Plays | 78 | 68 |
| Total Drives | 11 | 13 |
| First Downs | 28 | 22 |
| Passing First Downs | 15 | 15 |
| Rushing First Downs | 13 | 4 |
| 3rd Down Conv. | 10/15 (67%) | 8/16 (50%) |
| 4th Down Conv. | 1/1 | 1/1 |
| Red Zone (TD-Att) | 3-5 | 1-4 |
| Turnovers | 5 | 1 |
| Fumbles Lost | 3 | 0 |
| Interceptions | 2 | 1 |
| Sacks Allowed | 3 (-17 yds) | 0 |
| Penalties | 5-68 | 3-20 |
| Time of Possession | 40:58 | 29:18 |
Buffalo had 100 more total yards, ran 10 more plays, controlled possession for nearly 11 extra minutes and converted third down at 67%. The Bills also turned the ball over five times. In NFL playoff football, that second column is non-negotiable.
Passing Stats: Josh Allen vs. Bo Nix
| Player | Team | Cmp | Att | Yards | TD | INT | Sacks | Rating | PFF Grade |
|---|---|---|---|---|---|---|---|---|---|
| Josh Allen | BUF | 25 | 39 | 283 | 3 | 2 | 3-17 | 90.0 | 75.9 |
| Bo Nix | DEN | 26 | 46 | 279 | 3 | 1 | 0-0 | 87.1 | 73.5 |
Advanced Passing
| Player | Team | aDOT | Air Yards | YAC | Bad Throw% | Drop% | Pressure% | Scrambles | Scr. Yards |
|---|---|---|---|---|---|---|---|---|---|
| Josh Allen | BUF | 9.5 | 98 | 188 | 20.5% | 10.3% | 26.1% | 4 | 37 |
| Bo Nix | DEN | 8.2 | 168 | 116 | 18.6% | 4.7% | 28.0% | 4 | 24 |
The raw numbers are closer than the final result implies. Allen averaged 7.2 yards per attempt and generated 188 yards after the catch — a sign his receivers were winning in space. Nix worked with a cleaner pocket; Denver’s offensive line did not allow a single sack across 46 dropbacks.
Rushing Stats
| Player | Team | Att | Yards | YPC | Long | TD | Broken Tackles |
|---|---|---|---|---|---|---|---|
| James Cook | BUF | 24 | 117 | 4.9 | 24 | 0 | 2 |
| Josh Allen | BUF | 12 | 66 | 5.5 | 26 | 0 | 0 |
| Bills Total | 36 | 183 | 5.1 | 26 | 0 | ||
| Bo Nix | DEN | 12 | 29 | 2.4 | 11 | 0 | 0 |
| Jaleel McLaughlin | DEN | 4 | 21 | 5.3 | 13 | 0 | 3 |
| RJ Harvey | DEN | 6 | 20 | 3.3 | 12 | 0 | 2 |
| Broncos Total | 22 | 70 | 3.2 | 13 | 0 |
Cook carried 24 times for 117 yards and was Buffalo’s most reliable offensive weapon throughout. Denver held well under 100 rushing yards, but the ground game was never the issue for the Broncos — their passing offense was.
Receiving Stats: Full Bills and Broncos Box Score
Buffalo Bills
| Player | Pos | Tgt | Rec | Yards | TD | Long | YAC | ADOT |
|---|---|---|---|---|---|---|---|---|
| Dalton Kincaid | TE | 6 | 6 | 83 | 1 | 25 | 26 | 9.5 |
| Khalil Shakir | WR | 9 | 7 | 75 | 0 | 46 | 53 | 2.6 |
| Ray Davis | RB | 2 | 2 | 33 | 0 | 24 | 41 | -4.0 |
| Dawson Knox | TE | 5 | 3 | 32 | 0 | 13 | 23 | 6.6 |
| James Cook | RB | 3 | 2 | 24 | 0 | 24 | 26 | -2.7 |
| Brandin Cooks | WR | 6 | 2 | 20 | 0 | 15 | 8 | 24.8 |
| Keon Coleman | WR | 3 | 1 | 10 | 1 | 10 | 7 | 12.3 |
| Mecole Hardman | WR | 2 | 1 | 4 | 1 | 4 | 2 | 11.5 |
| Curtis Samuel | WR | 3 | 1 | 2 | 0 | 2 | 2 | 13.3 |
Kincaid caught all six of his targets — the only Bills pass-catcher with a perfect reception rate — for 83 yards and a score. Shakir turned short completions into 53 yards after the catch. Cooks was targeted six times, caught two, and his name would resurface in overtime in a very different context.
Denver Broncos
| Player | Pos | Tgt | Rec | Yards | TD | Long | YAC | ADOT |
|---|---|---|---|---|---|---|---|---|
| Marvin Mims | WR | 8 | 8 | 93 | 1 | 27 | 37 | 7.0 |
| Courtland Sutton | WR | 9 | 4 | 53 | 0 | 25 | 9 | 12.6 |
| RJ Harvey | RB | 6 | 5 | 46 | 0 | 24 | 45 | 0.2 |
| Lil’Jordan Humphrey | WR | 5 | 2 | 33 | 1 | 29 | 0 | 13.6 |
| Pat Bryant | WR | 3 | 3 | 32 | 0 | 15 | 11 | 7.0 |
| Evan Engram | TE | 3 | 1 | 7 | 0 | 7 | 2 | 4.7 |
| Frank Crum | T | 1 | 1 | 7 | 1 | 7 | 6 | 1.0 |
| Tyler Badie | RB | 2 | 1 | 7 | 0 | 7 | 7 | 2.0 |
| Nate Adkins | TE | 1 | 1 | 1 | 0 | 1 | 0 | 1.0 |
| Adam Trautman | TE | 2 | 0 | 0 | 0 | — | — | 9.0 |
| Adam Prentice | FB | 1 | 0 | 0 | 0 | — | — | 1.0 |
Mims caught all eight of his targets — 93 yards, one touchdown, including the 26-yard go-ahead score with 55 seconds left in regulation that forced Prater’s tying 50-yarder. Bryant caught three passes for 32 yards before leaving with a concussion on Denver’s opening drive.
Defensive Stats, Sacks and Turnovers
| Player | Team | Comb | Solo | Ast | Sacks | TFL | PD | INT | PFF Grade |
|---|---|---|---|---|---|---|---|---|---|
| Alex Singleton | DEN | 14 | 11 | 3 | 0 | 0 | 0 | 0 | — |
| Cole Bishop | BUF | 12 | 7 | 5 | 0 | 2 | 0 | 0 | — |
| Talanoa Hufanga | DEN | 10 | 7 | 3 | 0 | 0 | 0 | 0 | — |
| Cameron Lewis | BUF | 10 | 6 | 4 | 0 | 0 | 2 | 0 | 80.3 |
| P.J. Locke | DEN | 9 | 6 | 3 | 0 | 0 | 1 | 1 | — |
| Taron Johnson | BUF | 6 | 5 | 1 | 0 | 1 | 0 | 0 | — |
| Dondrea Tillman | DEN | 6 | 4 | 2 | 0 | 1 | 0 | 0 | — |
| Shaq Thompson | BUF | 5 | 4 | 1 | 0 | 2 | 0 | 0 | — |
| Malcolm Roach | DEN | 5 | 3 | 2 | 1.5 | 1 | 0 | 0 | 81.5 |
| Zach Allen | DEN | 5 | 3 | 2 | 0.5 | 0 | 0 | 0 | 83.5 |
| Tre’Davious White | BUF | 4 | 3 | 1 | 0 | 0 | 0 | 0 | — |
| Nik Bonitto | DEN | 3 | 2 | 1 | 1.0 | 1 | 0 | 0 | 80.2 |
| Deone Walker | BUF | 3 | 2 | 1 | 0 | 0 | 1 | 1 | — |
| Ja’Quan McMillian | DEN | 1 | 1 | 0 | 0 | 1 | 1 | 1 | 88.0 |
Sacks: Malcolm Roach 1.5 | Nik Bonitto 1.0 | Zach Allen 0.5
Interceptions: Deone Walker, BUF (Q3, 3-yd return) | P.J. Locke, DEN (Q3, 30-yd return) | Ja’Quan McMillian, DEN (OT, game-winner)
Forced Fumbles: Nik Bonitto x2 (both on Allen) | Alex Singleton x1 (on Cook)
Fumble Recoveries: Malcolm Roach (BUF 17, Q3) | Talanoa Hufanga (DEN 31, Q2) | Devon Key (BUF 35, Q2)
Kicking, Punting and Special Teams
Kicking
| Player | Team | FG Made | FG Att | Pct. | Long | XPM | XPA | Pts |
|---|---|---|---|---|---|---|---|---|
| Matt Prater | BUF | 3 | 3 | 100% | 50 | 3 | 3 | 12 |
| Wil Lutz | DEN | 4 | 4 | 100% | 50 | 3 | 3 | 15 |
Prater’s attempts: 33, 31, 50 yards. Lutz’s attempts: 28, 50, 33, 23 yards.
Punting
| Player | Team | Punts | Yards | Avg | Long | TB | In 20 |
|---|---|---|---|---|---|---|---|
| Jeremy Crawshaw | DEN | 4 | 188 | 47.0 | 65 | 1 | 2 |
Kick Returns
| Player | Team | Ret | Yards | Avg | Long | TD |
|---|---|---|---|---|---|---|
| Ray Davis | BUF | 5 | 130 | 26.0 | 28 | 0 |
| Mecole Hardman | BUF | 1 | 22 | 22.0 | 22 | 0 |
| Jaleel McLaughlin | DEN | 3 | 59 | 19.7 | 27 | 0 |
| Marvin Mims | DEN | 2 | 50 | 25.0 | 25 | 0 |
| Tyler Badie | DEN | 1 | 27 | 27.0 | 27 | 0 |
No punt returns for either team.
Top PFF Grades
Offense
| Player | Team | Pos | Grade | Snaps |
|---|---|---|---|---|
| Dalton Kincaid | BUF | TE | 89.3 | 38 |
| Garett Bolles | DEN | T | 84.5 | 72 |
| Marvin Mims | DEN | WR | 79.8 | 47 |
| Josh Allen | BUF | QB | 75.9 | 78 |
| Bo Nix | DEN | QB | 73.5 | 72 |
Defense
| Player | Team | Pos | Grade | Snaps |
|---|---|---|---|---|
| Ja’Quan McMillian | DEN | CB | 88.0 | 50 |
| Zach Allen | DEN | DI | 83.5 | 50 |
| Malcolm Roach | DEN | DI | 81.5 | 39 |
| Cameron Lewis | BUF | S | 80.3 | 69 |
| Nik Bonitto | DEN | ED | 80.2 | 46 |
The Three Moments That Decided This Game
1. The final two minutes of the second quarter
Denver scored 10 points in 1:51 without earning them through offense. Allen fumbled at his own 35 with 16 seconds left — Devon Key recovered for the Broncos — and Lutz put a 50-yarder through the uprights as time expired. That made it 20-10 at halftime. Denver had not generated the lead; Buffalo had surrendered it.
2. Bonitto’s strip-sack to open the third quarter
The Bills took the second-half kickoff and needed to change the game’s momentum. On their second play from scrimmage, Nik Bonitto sacked Allen and forced a fumble. Malcolm Roach recovered it at the Bills 17. Three plays later, Lutz hit a 33-yarder to extend Denver’s lead to 23-10. The Bills’ second-half momentum was gone before it started.
3. McMillian’s overtime interception
Facing third-and-11 from his own 36 in overtime, Allen went deep for Cooks down the right sideline. Ja’Quan McMillian got his hand on the ball, and as Cooks hit the turf, the ball came loose. McMillian secured it.
“He actually had the ball coming down and I had my hand on the ball,” McMillian said. “I was able to take it from him. I fell on top of him, just held the ball up, showed the fans some love.”
Referee Carl Cheffers confirmed the ruling in a pool report: the receiver must complete the process of a catch through the ground, Cooks did not, and the defender who completed that process was awarded possession.
Two defensive pass interference flags on Tre’Davious White — 17 yards, then 30 yards — moved Denver inside the Bills 10. Lutz finished it.
Bo Nix’s First Playoff Win Came With a Broken Ankle
About an hour after the final whistle, Sean Payton returned to the podium with different news.
Nix had fractured his right ankle on a keeper two plays before Lutz’s kick. Cole Bishop made the tackle. Nix got up, walked off without being carted, gave a composed on-field interview to CBS, and gave no indication of what had happened to his leg. Season-ending surgery in Birmingham, Alabama was confirmed for the following Tuesday.
His final stat line — 26-of-46, 279 yards, three touchdowns, zero sacks taken — gave no sign of what the postgame x-rays would show. He had also tied Russell Wilson’s NFL record of 24 wins in a quarterback’s first two seasons. January 17 was his first career playoff victory.
“We celebrate the season for him,” Payton said. “And listen, the city’s ready and we’ll be ready for the next challenge.”
Jarrett Stidham — one career snap in the 2025 regular season, a kneel-down against Dallas in Week 8 — was named the replacement starter.
“Stiddy’s ready,” Payton said. “He’s ready. I’ve got a 2 that’s capable of starting for a number of teams.”
The complete Buffalo Bills vs. Denver Broncos box score from the 2025 AFC divisional round shows a team that statistically controlled the game in almost every category except the one that mattered most. Buffalo’s five turnovers erased 100 yards of advantages, 11 minutes of time of possession and a third-down conversion rate that should have won the game comfortably.
Allen threw for 283 yards and three touchdowns in a losing effort, one of the more statistically productive losing performances in recent playoff history. He also handed Denver five possessions in an elimination game, and no quarterback survives that in January.
The Broncos won with a turnover margin, a perfect kicker and a quarterback who broke his ankle two plays before the final field goal — and still left his team standing.
