CHARLOTTE, N.C. — Sizing up Sunday’s game against the Buffalo Bills, longtime long snapper J.J. Jansen called it the “right test at the right time” for a Carolina Panthers’ team riding the high of a three-game win streak.
The Panthers failed in spectacular fashion, with F’s for Andy Dalton and the run defense the heaviest drags on the overall grade.
Filling in for an injured Bryce Young, Dalton coughed up three turnovers and looked overmatched in a 40-9 loss that reminded the Panthers of the sizable gap that remains between them and the NFL’s top teams.
The Panthers (4-4) had inched over .500 with wins against Miami, Dallas and the New York Jets, who have combined for a 6-17-1 record. But Sunday marked the start of the meat of the schedule, and the Bills (5-2) were itching to get right after back-to-back losses heading into their bye.
“Yeah, you can say it’s a measuring stick. But I think at the end of the day, we didn’t give ourselves a chance. For me, I didn’t give this team a chance. So it wasn’t our day today,” Dalton said. “They obviously played really good on their side of the ball. We’ve just gotta move forward. It’s on to the next. That’s how this thing goes.”
The Panthers hope to move forward with Young back behind center next week at Green Bay. The third-year quarterback watched in a hoodie as the Bills took advantage of a decimated offensive line and Dalton’s limited mobility by sacking the 37-year-old backup seven times.
Panthers coach Dave Canales said the hope is Young, who hurt his ankle last week against the Jets, can practice Wednesday and go from there. Canales stuck with Dalton through two fumbles and an interception behind an offensive line that lost three starters to injuries, including guard Brady Christensen to a season-ending, ruptured Achilles.
The Bills’ seven sacks tied for the ninth-most against the Panthers in their history. Watching Dalton trying unsuccessfully to escape the Bills’ pass rush felt like you were watching the beginning of the end for the “Red Rifle,” though Canales said he would “absolutely” remain the No. 2 QB ahead of Hendon Hooker.
Whoever starts against the Packers could be lining up behind a makeshift line. In addition to Christensen, the Panthers also will be monitoring the statuses of center Cade Mays, who rolled his ankle on the first series, and right tackle Taylor Moton, who sat out the second half with a knee injury.
“NFL football can just snowball in those moments. It just seems everything keeps going wrong,” said Austin Corbett, who replaced Mays. “You dress three (OL) backups for a game. It’s tough when all three of them are in the game. It’s gonna be hard. Things get away from ya. Just one of those days in the NFL where you get your butt kicked.”
The Panthers’ defense can relate.
Just when it looked like the Panthers had fixed their run defense, James Cook spent Sunday ripping off long runs while his blockers bullied the Panthers’ front five. Cook notched the biggest rushing game ever by a Panthers’ opponent — and needed only three quarters to do it.
Cook carried 19 times for 216 yards to break the New York Giants’ Derrick Ward’s record of 215 yards from an overtime game against Carolina in 2008. Per Next Gen Stats, Cook gained 141 of his rushing yards before contact, the most by any player this season and third-most since 2018 — an indictment of a defense that entered Sunday ranked eighth against the run and seventh overall.
The Bills boast the league’s top rushing offense, but that was little solace to defensive lineman Derrick Brown after the Panthers yielded 245 yards on the ground to evoke flashbacks to 2024.
“We had a running back go for 200 yards on us, right? You can’t have that on Sundays,” Brown said. “I’m prideful in this defense. I’m prideful in stopping the run and we didn’t get that done today. That falls a lot on us up front.”
Derrick Brown: We had a running back go for 200 yards against us. You can’t have that on Sundays. pic.twitter.com/U55aCMU0Wb
— Joe Person (@josephperson) October 26, 2025
Given all the ties between these two franchises, there was a festive atmosphere before the game at Bank of America Stadium. General managers Dan Morgan and Brandon Beane caught up on the Bills’ sideline, while several former players who rode the Carolina-Buffalo express — including Captain Munnerlyn, Kurt Coleman and Dwan Edwards — were in attendance.
But once the game started, it was all Buffalo. While Jansen’s take was reasonable, facing the Bills after a bye represents the wrong time to face them.
The Bills have now won 11 in a row when coming off a bye, the second-longest streak in NFL history. (The Philadelphia Eagles won 13 consecutive post-bye games from 1999 to 2011.) Reigning MVP Josh Allen, who had a pretty quiet day by his standards, improved to 8-0 after a bye.
Much was made of the Panthers’ signing of practice squad QB Mike White five days before facing his former team. But it was ex-Panthers linebacker Shaq Thompson who proved to be the most important informant of the game.
With the Panthers trailing 12-3 late in the first half, Canales called a tunnel screen for wideout Jalen Coker. Just before the ball was snapped, Thompson yelled something in the direction of defensive end A.J. Epenesa, who made a juggling interception of Dalton’s pass and returned it 24 yards to the Carolina 1.
Fox color analyst and former Panther Greg Olsen thought Thompson, who was in Carolina from 2015-2024, picked up on a tell from Dalton and alerted Epenesa.
“I think Shaq was communicating with ‘em,” Dalton said. “I don’t necessarily know if he knew exactly our call.”
Maybe he was protecting the Bills’ secrecy code, but Epenesa said Panthers left tackle Ikem Ekwonu tipped him off. “It was a very unique key that I got from the offensive lineman. He kind of pass sets and then he takes off running,” Epenesa said. “They never really do that except on screens.”
Dalton commended Epenesa, whose return set up Allen for the first of his two 1-yard touchdown sneaks. “For the D-end to get up and make that play, I tried to get the ball out as quick as I could,” he said. “They made a good play.”
With the Panthers driving on their next possession, Dalton took a sack with no timeouts, forcing a rushed field goal operation that resulted in Ryan Fitzgerald missing a 32-yarder as the first half ended. When Allen found Khalil Shakir for a 54-yard, catch-and-run TD on the first series of the second half, the Bills led 26-3 and the game was effectively over.
The Panthers showed their frustrations at the end of the game. Rookie edge rusher Princely Umanmielen threw his helmet at the stadium wall, while defensive tackle A’Shawn Robinson got into a heated shoving match with Bills left tackle Dion Dawkins while players were shaking hands.
Brown chalked up the emotional displays to the effects of the Panthers taking an “ass whuppin’.”
But Brown, Canales and others chose to view said ass kicking as a bad day rather than a gulf that may exist between the Panthers and the better teams in the league. They’ll find out soon enough: Six of their final nine games are against teams currently with winning records, starting next Sunday at Lambeau Field.
“We really look at it as one game,” Canales said. “There’s a lot of good football right in our rearview mirror and we’ve just gotta get back to playing that kind of good football.”
Brown, who missed the final 16 games last year following knee surgery, received a scare when his foot caught in the artificial turf late in the game. But Brown said his knee was OK after trainers checked it in the medical tent.
Brown recalled how the Panthers’ three-game win streak started after a 29-point loss at New England. Now they’ll look to bounce back from a 31-point L.
“Nobody gave us a chance then. We back to square one. Like I’ve been saying, s———, we’ll be back here,” he said. “This is how it happened. We got humbled today. Humility is definitely a measuring stick for us today. So we’ll take this one on the chin and get back to it.”