NFL Week 15 Game Recap: Buffalo Bills 31, Carolina Panthers 14

Bills quarterback Josh Allen buys extra time as he looks downfield.

The Buffalo Bills were able to right the ship after a brief two-game slide and beat the Carolina Panthers 31-14 in Week 15. The win keeps Buffalo in position to make the playoffs and win the AFC East.

Click here for more PFF tools:

Rankings & ProjectionsWR/CB Matchup ChartNFL & NCAA Betting DashboardsNFL Player Props toolNFL & NCAA Power Rankings

Safety worth way more than 2 points. Help protect your family with fast, free will.

Buffalo Bills


Josh Allen completed just over half of his 34 attempts and edged over the 200-yard mark against the Panthers on Sunday. Carolina’s pass rush caused the quarterback discomfort in the pocket and limited his ability to place the ball accurately.

Running Back

Devin Singletary wasn’t able to crack the 4.0 yards per carry mark, but his 86 yards on 22 carries was about as close as it gets. Gaining over 70% of his yards after contact and only being stuffed on 4% of his carries, Singletary made it his mission to establish the ground game.

Wide Receiver/Tight End

Allen spread the opportunities around to his receivers, with four players accumulating at least 30 yards through the air. Gabriel Davis, Dawson Knox, Stefon Diggs and Cole Beasley each came down with at least four catches, and Davis led the way with 85 yards.

Receiving Snaps Targets Yards Per Route Run
Stefon Diggs 35 6 1.00
Cole Beasley 25 7 1.40
Gabriel Davis 35 7 2.43
Dawson Knox 31 5 1.23
Offensive Line

Cody Ford struggled through Sunday’s game against the Panthers’ pass rush, which has been effective at breaking protections and bothering quarterbacks in obvious passing situations all season long. The guard allowed five pressures and one pass-blocking “loss.”

Defensive Line

The Bills defense is still trying to iron out its kinks against the run, and Cam Newton’s day on the ground wasn’t much of a ringing endorsement for the front seven. Still, enough was done to keep Carolina from controlling the game, as the defensive line combined for nine run stops.

Buffalo also generated pressure on the interior, with all three sacks coming from interior linemen Star Lotulelei and Efe Obada.


Tremaine Edmunds has had an up and down season as a run-fitting linebacker. On Sunday, the big, twitchy backer tallied just two run stops and an average depth of tackle of five yards. Edmunds was only targeted twice and gave up receptions on both for a total of 12 yards allowed.


Levi Wallace, Dane Jackson and Taron Johnson allowed 79 yards through the air on 17 targets.

Buffalo didn’t have much respect for Carolina’s ability to stretch the field vertically, pressing its outside corners on 16 coverage snaps.

Coverage Snaps Coverage Targets Yards Allowed Per Target
Dane Jackson 43 5 5.2
Taron Johnson 33 2 6.5
Levi Wallace 39 10 4.0

Carolina Panthers


Carolina ditched the two-QB system for a week, but Cam Newton didn’t produce much to justify it. The veteran averaged just four yards per attempt and was sacked four times, finishing with a passer rating of 56.5.

Dropbacks 45
Passing Yards 156
Rush Attempts 15
Rushing Yards 71
Running Back

The best running back for Carolina was Cam Newton, who picked up 71 yards and a touchdown on 15 tries. Chuba Hubbard played as the secondary back and tallied 40 yards on his eight carries.

Wide Receiver/Tight End

D.J. Moore and Robby Anderson were the only two viable receiving threats for Matt Rhule’s offense, coming together for nine catches on 18 targets for 77 yards. Neither player dropped a pass, giving evidence to the idea that the issues in Carolina stem from Newton’s poor accuracy.

Offensive Line

Cam Erving was treated like a traffic cone for Buffalo’s edge rush, allowing nine pressures, including two hits and a sack. The rest of the Panthers’ offensive line allowed seven combined pressures, two being sacks.

Defensive Line

Edge rushers Haason Reddick and Yetur Gross-Matos kept Josh Allen off-platform and under duress, combining for two sacks and nine pressures. DaQuan Jones anchored the interior with four run stops and a tackle for loss.


Shaq Thompson was targeted five times by Josh Allen and allowed just 17 yards. He also added a run stop and generated two hurries in his five reps as a blitzer in Phil Snow’s creative pass-rush packages.


Today had less to do with how many yards or catches Stephon Gilmore allowed and more to do with when he gave them up. The three catches he conceded returned two touchdowns for Buffalo, and Josh Allen was content to wait until his offense was in the red zone before trying the former all-pro corner.


Unlock the 2023 Fantasy Draft Kit, with League Sync, Live Draft Assistant, PFF Grades & Data Platform that powers all 32 Pro Teams

$31 Draft Kit Fee + $8.99/mo
$89.88/yr + FREE Draft Kit