Bills Report Card: Defense puts together its most complete game of the season in big win


Grading the Buffalo Bills in their 26-7 victory over the Pittsburgh Steelers on Sunday at Acrisure Stadium …

1764622147738.png
Bills running back James Cook, middle, and wide receiver Tyrell Shavers celebrate a long run during the third quarter against the Steelers on Sunday at Acrisure Stadium.
Joshua Bessex, Buffalo News


Running game: A+​

In two words, holy cow. Right from the very first play from scrimmage – which James Cook took for a 19-yard gain – it was clear the Bills were determined to jam the ball down the throats of the Steelers. Did they ever. Buffalo amassed a season-high 249 rushing yards on a whopping 51 attempts. Inside or outside, it didn’t matter, the Bills got their yards. “We’ll have to watch the film, but it was an (expletive) kicking in all areas,” Steelers linebacker T.J. Watt said when asked what went wrong for Pittsburgh’s run defense. That the Bills were able to accomplish what they did on the ground with two backups along the offensive line, Ryan Van Demark and Alec Anderson, speaks to the commitment of the entire offense to get the running game going. Cook finished with 144 yards – the seventh game this season in which he’s topped 100 yards. Cook did lose an ugly-looking fumble in the first half.

Passing game: C-​

The Bills didn’t need to throw it, which is a good thing because when they did in the first half, they didn’t have a lot of success. Allen was just 6 of 12 for 51 yards with an interception in the first half, a passer rating of 26.7. Newcomer Brandin Cooks had one catch for 13 yards and Gabe Davis added one catch for 5 yards, meaning the team’s wide receivers contributed just two catches for 18 yards at halftime, which arrived with the Bills trailing, 7-3. Allen completed 9 of 11 passes in the second half, with tight end Dawson Knox getting involved by making three catches for 28 yards. The offensive line did not give up a sack to Watt and Co. That’s a job well done, especially after Allen was sacked a career-high eight times in his last outing against Houston. Yes, the production from the passing game will need to be better moving forward.

Run defense: A​

Considering the opponent and the weather, this was the Bills’ best performance of the season against the run. It started early, with cornerback Christian Benford stopping Jaylen Warren for a loss of 2 yards on the Steelers’ first drive. Pittsburgh ended up gaining just 58 yards on 18 carries, a season low allowed on the ground by the Buffalo defense. Shaq Thompson stepped in at middle linebacker for the injured Terrel Bernard and led the Bills with nine tackles. He brings a nastiness to the defense every time he’s in the game. In addition to Benford, Matt Milano and Greg Rousseau each had a tackle for loss, with Rousseau’s coming on a fourth-down run that forced a turnover on downs.

Pass defense: A​

Aaron Rodgers finished 10 of 21 for just 117 yards. Mason Rudolph’s three passes in relief of Rodgers went incomplete. Well, one of them was caught, but it was by Benford for an interception. So as good as the Bills’ run defense was, the pass defense might have been better. Joey Bosa had the Bills’ only sack, but it forced a fumble that was recovered and returned for a touchdown by Benford. Milano made a great open-field tackle on Warren for a 2-yard gain early in the game. Outside of hulking tight end Darnell Washington making a couple plays late, the Bills’ defense gave up basically nothing through the air or on the ground. Steelers receiver DK Metcalf was limited to three catches for 32 yards. Bills cornerback Tre’Davious White had a pass defensed to set up a Steelers punt on Pittsburgh’s first drive. White led the Bills with two passes defensed. Dorian Williams had one quarterback hit.

Special teams: D​

This was an ugly night, from start to finish. Mitch Wishnowsky’s first punt went for just 27 net yards after bouncing into the end zone for his first touchback of the season. Kicker Matt Prater missed another extra point. That’s becoming a problem. The kick return unit, which has been so good lately, was limited to an average of just 18 yards on two attempts. Ty Johnson gained 21 yards and Ray Davis gained 15. Khalil Shakir made a fair catch three times on punts. The Bills took another penalty on special teams, with Sam Franklin called for holding on one of those punts that ended with a Shakir fair catch. That issue has got to be cleaned up.

Coaching: B​

The offense was too predictable in the first half, as offensive coordinator Joe Brady went back to the same well over and over again. Brady and the offensive staff, particularly offensive line coach Aaron Kromer, do, however, deserve a lot of credit for coming up with a game plan that kept Allen on his feet with two backups in the lineup. This was a gritty win over a gritty team – the type that’s required when the weather gets cold and the calendar flips to December. It wasn’t perfect, by any stretch. The sequence at the end of the first half that resulted in a field goal was sloppy all the way around, for example, but the team put together its best defensive performance of the season when it needed a win. Coach Sean McDermott and defensive coordinator Bobby Babich need to get some credit for that.
 

How Joey Bosa blew up Aaron Rodgers, plus other big plays that shaped the Bills' big win​


By the time Aaron Rodgers saw the blitz, it was too late.

The Steelers' 41-year-old quarterback stepped forward to avoid Buffalo Bills edge rusher Joey Bosa.

Rodgers kept scanning the field while his linemen desperately tried to block Bosa and cornerback Christian Benford, whom the Bills sent on a surprise blitz for the first play of the second half Sunday night at Acrisure Stadium.

1764622418296.png
Buffalo Bills defensive end Greg Rousseau (50) stops Pittsburgh Steelers running back Kenneth Gainwell (14) short of the first down
to force a turnover-on-downs during the fourth quarter at Acrisure Stadium on Sunday, Nov. 30, 2025. (Joshua Bessex/Buffalo News)


Rodgers planted his back foot to prepare to throw, but he didn't see the hit coming. Bosa got free and leveled Rodgers from behind. The quarterback fumbled. Benford picked up the ball and ran it in for a touchdown, giving the Bills their first lead in a 23-7 win over the Steelers.

With his fifth forced fumble this season, Bosa tied the franchise record set by Aaron Schobel in 2007.

"It was by far the biggest play of the game," Bills edge rusher Greg Rousseau said. "It was a huge momentum swing."

The Steelers tried to surprise the Bills with a play-action pass on first down when a sixth offensive lineman was on the field. Steelers running back Jaylen Warren was open for a short completion over the middle of the field, but the pressure got to Rodgers so quickly that Warren was covered by the time Rodgers climbed the pocket.

The sack by Bosa forced Rodgers to leave for the blue medical tent because he fell on his broken left wrist. Mason Rudolph, the Steelers' backup quarterback, entered the game for the next drive, and he threw an interception to Benford.

Eight plays later, Josh Allen threw a 1-yard touchdown pass to Keon Coleman as the Bills began to pull away for their eighth win of the season.

1764622445935.png
Bills defensive end Joey Bosa sacks Steelers quarterback Aaron Rodgers during the third quarter Sunday in Pittsburgh.
Gene J. Puskar, Associated Press


Here are other plays that shaped the game:

Tre'Davious White's clutch stop​

One of Rodgers' fastest receivers, Calvin Austin, had single coverage on third-and-10 during the Steelers' first drive of the game.
Rodgers trusts that he can make a perfect throw in that situation. A safety can't make a play on the ball, so Rodgers would rather misfire on an overthrow than force his receiver to come back to him to make a play.

Rodgers tried to place the ball over Bills cornerback Tre'Davious White to get to Austin. White didn't allow Austin to separate, though, and the Steelers receiver helped his opponent make a play that forced Pittsburgh to punt the ball.

"I just played my technique, man," White said, explaining the pass breakup with 7:45 left in the first quarter. "I was in a position where I couldn’t look back for the ball. I knew the ball was coming because his eyes got big. I just tried to stay poised. Once he went up, I didn’t let my body touch him because I know how they call it. If you keep your poise and play through with the hands, which I did, I was able to knock the ball down. Routine play for me."

James Cook's giveaway​

The Bills were averaging more than 6 yards per carry when Josh Allen handed the ball to James Cook on first-and-1 at Buffalo’s 45-yard line.

Cook ran toward his left guard, David Edwards, and bounced outside to avoid Steelers defensive end Cam Heyward. Cook then extended his right arm to try to fend off outside linebacker Nick Herbig. While trying to fight through Herbig’s tackle, Cook’s right knee hit the football. He lost control and dove to try to regain possession. It slipped out of his grasp again, and linebacker Patrick Queen recovered the fumble.

Six plays later, Steelers running back Jaylen Warren plunged into the end zone for a 1-yard touchdown that gave Pittsburgh a 6-0 lead. Cook has two fumbles over the past four games – the two-time Pro Bowl selection had none last season – and the Bills have 11 turnovers over their last four games.

"We knew the only way we were going to be stopped is if we stopped ourselves," Bills center Connor McGovern said. "We kept going with the run game, and they couldn’t stop it. Our defense did a hell of a job."

Big play, over and over​

Defenses know the Bills are either going to run inside zone, outside zone or duo.

Steelers outside linebacker T.J. Watt told reporters that his coaches reminded players throughout the week that Cook likes to bounce to the outside while running one of those three types of plays.

The Steelers still couldn't stop it. McGovern reached the second level to block linebacker Malik Harrison. Right guard O'Cyrus Torrence cleared out defensive tackle Keanu Becton. Alec Anderson took care of Watt. Jackson Hawes pulled left to handle linebacker Cole Holcomb.

Cook cut to his right, behind Bills receiver Tyrell Shavers, who blocked safety Kyle Duggar, and nobody touched Buffalo's running back until he gained 31 yards. Four plays later, Allen threw a 1-yard touchdown pass to Coleman that put Buffalo ahead, 16-7, with 8:53 left in the fourth quarter.

"He’s reading every block," said Ryan Van Demark, who started at left tackle for Buffalo. "Even if you’re slightly off, he makes you look great. Having a running back who can fix our problems, it’s awesome."

It was Cook's seventh 100-yard rushing game of the season. He is the fourth Bills running back all-time to have seven or more such games in the first 12 games of a season.

Steelers give away the play​

A Steelers offensive lineman gave away the play call without knowing it.

As the Bills' defense gathered for a fourth-and-2 in the fourth quarter, Rousseau noticed one of Pittsburgh's offensive lineman was looking down at the ground.

If the Bills weren't leading by 16 points, Rousseau may have thought twice before he acted on the potential slip-up by his opponent. But the game situation meant Rousseau could take the kind of risk that might not have been possible with a tighter score. Steelers tight end Jonnu Smith couldn't get two hands on Rousseau before he exploded through the line and tackled Kenneth Gainwell for a 2-yard loss.

"I heard them talking before the play," said Rousseau. "It was obvious, their demeanor. Their tackle was looking down, so I thought to myself, ‘They’ve got to be running inside zone.’ I just shot it. I said, ‘Whatever happens.’ We were up by two scores, too, so it allows you to play a little bit more free and maybe take a chance."
 

Three questions after the Buffalo Bills dominate the Pittsburgh Steelers​


What did we learn?​

That the Buffalo Bills can overcome a messy first half, and that takeaways really, really matter. The Bills had two turnovers in the first half, and they looked hapless early against the Pittsburgh Steelers. But in their 26-7 win in Acrisure Stadium, the Bills' defense evened things up. The Buffalo defense had two takeaways in five plays to start the third quarter, allowing the Bills to take and then extend the lead. Give game balls to defensive end Joey Bosa and cornerback Christian Benford for turning the tide for Buffalo. While the first-half deficiencies are worth examining, the Bills ultimately got the much-needed win.

1764622619198.png
Buffalo Bills quarterback Josh Allen (17) looks to pass from the pocket during the second quarter against the Pittsburgh Steelers
at Acrisure Stadium on Sunday, Nov. 30, 2025. Joshua Bessex/Buffalo News


What's trending now?​

The only quarterback in NFL history. Bills fans often describe quarterback Josh Allen that way, and now Allen stands alone. His 8-yard score in the fourth quarter was his 76th career rushing touchdown – the most all-time by any quarterback. Allen, who turns 30 in May, passed Cam Newton, and he bounced back from a rough start to this game. It included an interception on the Bills’ opening drive on a day when he went 15 for 23 passing for 123 yards and a touchdown. He had another 38 yards rushing. Allen wasn’t afraid to get chippy when Steelers players got in his face, and he got the last laugh.

What happens next?​

The Bills head home, where they’ll face the 4-8 Cincinnati Bengals, who have quarterback Joe Burrow back and are fresh off a divisional win on Thanksgiving night over the Baltimore Ravens. While Buffalo ultimately prevailed over the Steelers, the first half was sloppy, and the Bills must make some major corrections there. They’ll also hope to get back left tackle Dion Dawkins and right tackle Spencer Brown. While the team still excelled in the run game against the Steelers – a whopping 249 net yards – the Bills will want the two starting offensive linemen back for the long term. At some point, they'll have to threaten opponents downfield.
 
Back
Top