The Buffalo Bills defeated the Carolina Panthers on Sunday, 31-14, to get back in the win column after two-straight losses.
With another win, we start with the Arrows Up from the game:

ARROW UP:
Four sacks!
The Bills finally got after the quarterback the way they’ve wanted and expected, collecting four sacks on Panthers quarterback Cam Newton.
275 total yards/3.9 yards per-play allowed
For the fifth time this season, the Bills defense allowed less than 4.0 yards per-play.
Coming into the game, they had the No. 1 defense in the NFL, allowing just 288.9 yards per-game. Buffalo actually held Carolina under that total on Sunday, giving up 275 total yards.
Pass defense
Newton was held to a minuscule 4.1 yards per-attempt in the air. He threw 38 times for just 156 yards. It's the fewest yards on that many attempts in the NFL in over two years.
Efe Obada
Against his former team, Obada came up huge. He registered two sacks, two quarterback hurries, and three total tackles.
Starting cornerbacks
Dane Jackson, Levi Wallace, and Taron Johnson all had an equal hand in keeping the Panthers' passing game in check, combining for 15 total tackles, a sack (Johnson), and a pair of pass breakups.
They held the Panthers’ top-two wideouts, D.J. Moore and Robby Anderson, to a total of nine catches for 77 yards.
Fourth down defense
The Panthers lost their kicker to an injury during pregame warmups. Because of that, combined with the score, they went for it on five different fourth downs. The Bills stopped them on four of them.
Second quarter offense
After gaining just 39 yards in the first quarter, the Bills offense found answers in the second quarter, gaining 131 yards and scoring 17 points.
Gabriel Davis
Davis had the first two-touchdown game of his career, scoring on throws of 20 and 14 yards. He was also the game’s leading receiver, catching five passes for 85 yards, averaging 17.0 yards a catch.
Meanwhile, the Allen-to-Davis connection accounted for four of the Bills' 10-longest plays.
Devin Singletary
Singletary’s yards per-carry wasn’t very good in this game, averaging just 3.9 yards. However, he came up with some big runs and fought for important yards, finishing with 22 carries for 86 yards and the game’s first score.
The third-year running back also added 10 yards receiving, totaling 96 yards of offense.
Josh Allen
Allen’s numbers weren’t spectacular, but after being limited at practice most of the week with a foot sprain, he gutted out an overall positive performance, especially hitting on some big-time throws.
Buffalo's starting quarterback converted three of his passes for touchdowns, finishing 19-for-34 for 210 yards, three scores and an interception. He also ran three times for 24 yards.
Offensive line as game went on
After left tackle Dion Dawkins was placed on the Reserve/COVID-19 list late last week and guard Jon Feliciano (expected to start) was also placed on the COVID-19 list right before the game, the Bills' offensive line was severely under-manned and shuffled around late.
They didn’t have a good start. Allen was under a lot of pressure early, but they appeared to be more cohesive as the game went on and got much better. This included the unit doing a much better job of protecting Allen.
Red zone offense
The Bills were inside the Panthers' 20-yard line five times and converted four of those trips into touchdowns. The only time they didn’t was the end of the first half when they had to also consider time on the clock with play-calling.
End of first half time management
Bills head coach Sean McDermott and offensive coordinator Brian Daboll did an excellent job of managing the game near the end of the first half.
McDermott called his first timeout just after the two-minute warning with the Panthers inside the Bills' 10-yard line to conserve some clock for his offense if Carolina scored. They did on the next play.
From there, after the kickoff, the Bills started at their own 29-yard line and went 58 yards in 11 plays, using up the entire clock and getting down to the Panthers' eight-yard line before kicking a field goal on the last play of the half.


ARROW DOWN:
Spencer Brown’s discipline
Brown, starting at left tackle, was called for five penalties on the afternoon. Four of them were enforced, while one was offset by a Panthers penalty.
The rookie offensive tackle was called for holding three times, a false start, and a taunting that cost the Bills a 12-yard gain and first down early in the fourth quarter.
For that, he sat for a couple of plays.
Tommy Sweeney’s drop
Sweeney is known to have excellent hands, but he had a huge drop early in the third quarter that would have set the Bills up near the red zone. Instead, they punted two plays later.
Offensive start
The Bills offense was pretty much a disaster in the first quarter. The offensive line had trouble protecting Allen, who also missed a couple of throws on his own.
They went 1-for-3 on third down and gained total of 39 yards, punting twice.
Penalties
Once again, the Bills committed too many penalties on Sunday. This time, a total of eight penalties for 67 yards on the day.
Run defense
The Bills didn’t give up the big touchdown run as we’ve seen several times this season, but they still gave up four runs of at least 10 yards, two that went for at least 20 yards.
In all, Buffalo gave up 151 total yards on the ground and 5.2 yards per-carry.
Too many short drives
The Bills didn’t sustain enough drives long enough. They punted five times in the game, and the punts came after drives of only 3, 3, 6, 4, and 3 plays. Those five drives totaled just 41 yards.
4.8 yards per-offensive play
While the Bills defense allowed just 3.9 yards per-play, the offense gained only 4.8 yards per-snap, their fourth-lowest output of the season.

Follow me on Twitter: @SalSports