During the offseason, Buffalo acquired several players who would make major contributions on offense. The Bills improved on their 6–10 record from the previous season with a 37–20 win over Miami Dolphins in Week 11, then clinched their second winning season in three years with a 26–15 win over the Dallas Cowboys on Thanksgiving Day. Despite losing 24–17 to the Baltimore Ravens in Week 14, the Bills' 9–4 record marked the first time since 1996 (during the Marv Levy/Jim Kelly era) that the team won at least nine of their first 13 games and matching their highest full-season win total (2004, 2014 and 2017) in the 21st century with four games remaining.
With a 17–10 win over the Pittsburgh Steelers in Week 15, not only did the Bills clinch their second playoff berth in three years, but they reached 10 wins for the first time since winning 11 in 1999, which was also the last time the team made the playoffs until 2017.
The Bills defense finished an impressive season with just 259 points allowed, second in the league behind only the New England Patriots. The defense allowed more than 20 points just five times all season, and more than 30 points only once (in Week 8 against the Philadelphia Eagles). Overall, the Bills had the lowest-scoring games in the league with just 573 total points scored and allowed.
The #5 seed Bills attempted to win their first playoff game since 1995 in the wild-card round, but were defeated by the #4 seed Houston Texans 22–19 in overtime after giving up a 16–0 lead. The loss extended their playoff win drought to 25 years.
As of the 2023 season, this is the most recent season the Bills did not advance to the Divisional Round of the playoffs.
Transactions
Free agency
The Bills freed up cap space after paying off the dead money for players from the Doug Whaley era they had either cut or traded over the past two offseasons, including WR Sammy Watkins, CB Ronald Darby and DT Marcell Dareus. To address the team's offensive woes from the previous season, numerous offensive players such as WRs John Brown, Cole Beasley and Andre Roberts, C Mitch Morse, RBs Frank Gore and T. J. Yeldon and others were added in free agency, with Beane angrily dismissing the notion that "free agents don't want to play for Buffalo."[1][2]
Rookies in italics
53 active, 6 reserve, 11 practice squad
Preseason
The Bills went undefeated in their preseason games for the first time in franchise history. The team had only once before won their first three preseason games in 1966 before losing the preseason finale.[23]
Despite four first-half turnovers, two of which were interceptions by QB Josh Allen and being down 16–0 in the third quarter, the Bills scored on three consecutive drives afterwards, with the defense stifling Jets QB Sam Darnold and RB Le'Veon Bell for the most part, but it was an injury to Jets LB C. J. Mosley, along with misses on an extra point and a field goal by Jets K Kaare Vedvik (ultimately leading to his subsequent release), that paved the way for Buffalo's largest comeback win since Week 3 of the 2011 season, when the Bills came back from a 21–0 first-half deficit to upset the New England Patriots 34–31.[24]
Week 2: at New York Giants
Week Two: Buffalo Bills at New York Giants – Game summary
With the win, not only did Buffalo earn its first 2–0 start since 2014, but also became the first team to win back-to-back road games in the same stadium since the 2006 Chicago Bears, who ultimately went on to lose Super Bowl XLI to the Indianapolis Colts.
Week 3: vs. Cincinnati Bengals
Week Three: Cincinnati Bengals at Buffalo Bills – Game summary
Buffalo dominated the first half, holding the Bengals offense to just 76 yards and occupying 22:57 of ball possession, compared to just 7:03 for Cincinnati, but were only able to hold a 14–0 lead due to some miscues on offense, including a T. J. Yeldon fumble in the red zone. After Allen threw an interception to the Bengals defense in the third quarter, Cincinnati surged to 17 unanswered points, but Buffalo scored on its final drive, which featured a 49-yard pass from Allen to rookie TE Dawson Knox in which Knox broke two tackles and was capped by a touchdown run by RB Frank Gore. Bengals QB Andy Dalton was intercepted by CB Tre'Davious White for the second time on Cincinnati's ensuing drive, sealing a 21–17 victory for Buffalo. With the win, the Bills earned their first 3–0 start since 2011.[25]
Week 4: vs. New England Patriots
Week Four: New England Patriots at Buffalo Bills – Game summary
The game was a defensive battle, as both Allen and Patriots QB Tom Brady struggled throughout the game. However, the Patriots took an early 13–0 lead following a Brandon Bolden rushing touchdown and a blocked punt returned for a touchdown. After leading the Bills to 10 points, Allen was knocked out of the game in the fourth quarter after sustaining a helmet-to-helmet hit with Patriots CB Jonathan Jones during a scramble. The Patriots defense stifled backup quarterback Matt Barkley, keeping the Bills offense out of the end zone for the rest of the game.[26] With their first loss of the season, the Bills fell to 3–1, failing to earn their first 4–0 start since 2008. On a positive note, Gore became the fourth running back in NFL history to attain 15,000 career rushing yards.[27][28]
Week 5: at Tennessee Titans
Week Five: Buffalo Bills at Tennessee Titans – Game summary
In another defensive game, Buffalo scored first with an Allen pass to TE Lee Smith in the second quarter, while Titans QB Marcus Mariota was sacked four times in the first half. The Titans responded in the third quarter with a Derrick Henry rushing touchdown and were on the way to taking the lead in the fourth quarter. However, in a reversal of luck compared to the Music City Miracle from 20 years earlier, the Titans were denied a Mariota passing touchdown when it was determined that Mariota crossed the line of scrimmage prior to making a forward pass.[29] The resulting penalty forced the Titans to settle for a field goal by K Cairo Santos, which was blocked by the Bills defense. Santos wound up missing his other three field goal attempts, finishing 0-for-4 on the day (ultimately leading to his subsequent release). Following the miss, the Bills drove 80 yards down the field, capitalizing with a go-ahead touchdown from Allen to receiver Duke Williams as Tennessee was unable to respond.[30] With the win, Buffalo improved to 4–1 heading into the bye week. WR Zay Jones was traded to the Oakland Raiders the day after this game.[31]
Week 7: vs. Miami Dolphins
Week Seven: Miami Dolphins at Buffalo Bills – Game summary
Against the winless Dolphins, the Bills trailed at halftime 14–9 following a strong second quarter from Miami QB Ryan Fitzpatrick, who was Buffalo's starter from 2009-2012. The Dolphins looked to extend their lead in the third quarter, but White intercepted Fitzpatrick at the Buffalo 2-yard line. The Bills then regained the lead with two Allen touchdown passes to WRs John Brown and Cole Beasley, respectively, with the latter occurring after White forced the Dolphins to fumble near their 30-yard line. Though the Dolphins scored again later in the fourth quarter, the Bills iced the game after safety Micah Hyde returned Miami's ensuing onside kick for a 45-yard touchdown.[32] With the win, the Bills improved to 5–1 for the first time since 2008.
Week 8: vs. Philadelphia Eagles
Week Eight: Philadelphia Eagles at Buffalo Bills – Game summary
Quarter
1
2
3
4
Total
Eagles
3
8
13
7
31
Bills
0
7
6
0
13
at New Era Field, Orchard Park, New York
Date: October 27
Game time: 1:00 p.m. EDT
Game weather: Cloudy with showers and wind, 54 °F (12 °C)
During a rain-swept, windy game, the Bills took an early 7–3 lead, but after an Allen fumble shortly before halftime, the Eagles stormed back, outscoring the Bills 28–6 afterwards and finishing with 218 rushing yards under RBs Jordan Howard and Miles Sanders. With the loss, the Bills fall to 5–2.[33] It was the only game all season, including the playoffs, in which the Bills defense allowed more than three touchdowns, or more than 25 points.
Week 9: vs. Washington Redskins
Week Nine: Washington Redskins at Buffalo Bills – Game summary
The Bills won against the Redskins with 140 total yards from rookie RB Devin Singletary, improving to 6–2, making this their best start since 1993, also the same year the Bills last made a Super Bowl.[34]
Week 10: at Cleveland Browns
Week Ten: Buffalo Bills at Cleveland Browns – Game summary
In a game featuring a showdown between Allen and fellow 2018 draftee Baker Mayfield, Cleveland scored first with a Mayfield touchdown pass to Jarvis Landry and dominated the time of possession in the first half, but the Bills defense provided two goal-line stands in the second quarter, causing a turnover on downs and limiting the Browns to a field goal, respectively. Allen passed for a career-high 266 yards and had two rushing scores, the second of which gave Buffalo a 16–12 lead late in the fourth quarter, but Mayfield then drove Cleveland down the field to retake the lead with a touchdown pass to Rashard Higgins. The Bills drove to the Cleveland 35-yard line on the ensuing drive, but K Stephen Hauschka missed the potential game-tying field goal attempt, sealing the loss for Buffalo and dropping them to 6–3 on the season.[35]
Week 11: at Miami Dolphins
Week Eleven: Buffalo Bills at Miami Dolphins – Game summary
In the rematch against Miami, the Bills defense sacked Fitzpatrick seven times and limited the Dolphins to 23 rushing yards, but the special teams unit allowed a 101-yard kickoff return touchdown from Dolphins KR Jakeem Grant and an onside kick. Offensively, Allen and Brown posted strong performances as the Bills cruised to over 400 total yards and Hauschka rebounded from his poor performance in Cleveland, making all three of his field goals with a long of 51 yards.[36] With the dominating win, Buffalo improved to 7–3, improving on their 6–10 record from 2018.
Week 12: vs. Denver Broncos
Week Twelve: Denver Broncos at Buffalo Bills – Game summary
Against a strong Broncos defense, Allen's streak of games without throwing an interception came to an end at five, as he threw one to Broncos S Justin Simmons in the second quarter. Nonetheless, Allen still passed for two touchdowns and Buffalo's rushing offense recorded 244 yards. RBs Singletary and Gore each hit notable milestones, as Singletary recorded his first career 100-yard rushing game and Gore surpassed Barry Sanders on the NFL's all-time rushing list, taking over third place for career rushing yards. Defensively, the Bills had another strong performance and shut down the Denver offense, limiting the Broncos to just 134 net yards and a 45-yard field goal midway through the third quarter in addition to sacking QB Brandon Allen four times. The Bills improved to 8–3 with the win.[37]
Buffalo traveled to Dallas for its first Thanksgiving game since 1994, when they lost 35–21 to the Detroit Lions. Despite an opening-drive touchdown pass from Cowboys QB Dak Prescott to TE Jason Witten, the Bills defense kept the Cowboys' top-ranked offense out of the end zone for the rest of the first half and most of the second half and forced two turnovers from Prescott. The Bills would respond in the second quarter when Beasley, making his first return to Dallas since signing with Buffalo in free agency, caught a 25-yard touchdown pass from Allen. They took the lead for good when they scored on a trick play 28-yard pass from Brown to Singletary just before halftime. Buffalo wound up scoring 26 unanswered points before allowing a 15-yard touchdown pass from Prescott to Ventell Bryant in garbage time. With the 26–15 win, the Bills improved to 9–3, clinching just their fourth winning season since 1999.[38] Additionally, this was the first time since 1975 that the Bills won the Thanksgiving game.
Week 14: vs. Baltimore Ravens
Week Fourteen: Baltimore Ravens at Buffalo Bills – Game summary
Quarter
1
2
3
4
Total
Ravens
3
7
7
7
24
Bills
0
6
3
8
17
at New Era Field, Orchard Park, New York
Date: December 8
Game time: 1:00 p.m. EST
Game weather: Windy, 43 °F (6 °C)
Game attendance: 69,134
Referee: Shawn Smith
TV announcers (CBS): Ian Eagle, Dan Fouts and Evan Washburn
Against the top-ranked Ravens and MVP candidate Lamar Jackson, the Bills defense limited the Ravens to less than 100 total yards in the first half with an interception of Jackson, but the Ravens defense likewise limited the Bills offense, scoring a touchdown after forcing Allen to fumble deep in Bills territory. Baltimore took a commanding 17–6 lead three plays into the third quarter after Jackson found TE Hayden Hurst for a 61-yard touchdown through blown coverage and extended their lead with a long touchdown drive following a Bills field goal and a missed pass interference call after Ravens CB Jimmy Smith pushed Bills WR Robert Foster in the back. Buffalo would respond with an Allen touchdown pass to Beasley and successful two-point conversion and had one final chance to tie the game after penalties by Baltimore, but the drive stalled at the Baltimore 18-yard line when CB Marcus Peters batted down the ball with just over a minute to go, sealing a 24–17 loss that dropped the Bills to 9–4.[39]
Week 15: at Pittsburgh Steelers
Week Fifteen: Buffalo Bills at Pittsburgh Steelers – Game summary
This game was originally scheduled to air at 1:00pm ET on CBS, but during the New England Patriots–Houston Texans primetime game in Week 13, it was announced that the game would be flexed to 8:20pm ET on NBC. This marked the first Sunday primetime game for the Bills since 2007, when they hosted the Patriots (who were attempting to complete a perfect 16–0 regular season) and lost 56–10. The Bills won the defense-heavy game 17–10 as Brown led the Bills offense with 99 receiving yards. Defensively, the Bills forced five turnovers, including four interceptions of Steelers quarterback Devlin Hodges. This win snapped a six-game losing streak against the Steelers dating back to 1999, and was the Bills’ first win at Pittsburgh since 1993.
With the win, Buffalo improved to 10–4, clinching both a playoff berth and its first season with 10 or more wins since 1999.[40]
Week 16: at New England Patriots
Week Sixteen: Buffalo Bills at New England Patriots – Game summary
Despite New England holding the ball for much of the first half, Buffalo tied it up at halftime after stopping a fourth-down conversion, then subsequently marching down the field in 38 seconds and capitalizing with a Josh Allen touchdown pass to offensive tackle Dion Dawkins. The second half saw the Bills and Patriots alternate leads, with the Patriots scoring a go-ahead touchdown late in the fourth quarter with a Rex Burkhead touchdown run and subsequent two-point conversion. Similar to the game against the Ravens, Buffalo then drove down the field into the redzone on its final possession, but was unable to score the game-tying touchdown as the drive stalled at the New England 14-yard line. With the loss, the Bills fell to 10–5 and allowed New England to clinch the divisional title.[41]
Later in the weekend, the other AFC teams contending for Wild Card spots in the playoffs, namely the Pittsburgh Steelers and the Tennessee Titans, both lost to fall to 8–7. With only one game remaining, neither team could reach 10 wins and match the Bills' win total. Therefore, the Bills clinched the #5 seed and a road game against the #4 seed in the AFC playoffs.
Week 17: vs. New York Jets
Week Seventeen: New York Jets at Buffalo Bills – Game summary
The Bills' final regular season game against the Jets had no implications for their playoff seeding, as they had already locked up the #5 seed in the AFC. After initially announcing that many starters would play, head coach Sean McDermott limited playing time for many players in order to rest up for the playoffs. The Bills played many of their reserves for much of the game, leading to a low-scoring contest which the Jets were able to win, 13–6.[42]
^ abKansas City finished ahead of New England based on head-to-head victory.
^ abcDenver finished ahead of Indianapolis and NY Jets based on conference record. Division tiebreak was initially used to eliminate Oakland (see below).
^ abDenver finished ahead of Oakland based on conference record.
^ abcOakland and Indianapolis finished ahead of NY Jets based on conference record.
^ abOakland finished ahead of Indianapolis based on head-to-head victory.
^ abJacksonville finished ahead of Cleveland based on record against common opponents. Jacksonville's cumulative record against Cincinnati, Denver, NY Jets, and Tennessee was 4–1, compared to Cleveland's 2–3 cumulative record against the same four teams.
^ abLA Chargers finished ahead of Miami based on head-to-head victory.
^When breaking ties for three or more teams under the NFL's rules, they are first broken within divisions, then comparing only the highest ranked remaining team from each division.
In their third consecutive playoff game against the AFC South, the Bills jumped out to an early lead including a trick play touchdown from receiver John Brown to Josh Allen on their first drive, and were able to contain Texans quarterback Deshaun Watson in the first half. The Bills expanded their lead to 16–0 in the third quarter before the Texans came back with three straight scores to take a 19–16 lead. After exchanging turnovers on downs, the Bills were able to get the ball back with just over a minute remaining and set up a field goal to force the game into overtime. Both teams punted on their first possession of overtime, although the Bills had made it into field goal range, they were pushed back by a blindside block penalty on offensive lineman Cody Ford, forcing the punt. On the ensuing drive, the Texans advanced to the Bills' 44 yard line where, facing 2nd & 6, Watson escaped multiple Bills defenders to avoid a sack, and completed a pass to former Bill Taiwan Jones to the Bills' 10 yard line, setting up the game-winning field goal kicked by Ka'imi Fairbairn with 3:20 remaining in overtime. The Bills were eliminated with the loss, and the Texans advanced to play the Kansas City Chiefs in the divisional round.