CHARLOTTE — There was a game, the Panthers won it 21-0, with Baker Mayfield playing well and the first-team defense mostly doing its job.
But they also saw far too many players go down with injuries in the second half, which is the worst thing that can happen in the preseason.
Starting defensive tackle Derrick Brown, who had a sack early, suffered an oblique injury that was announced right after halftime. His availability will be significant, so there was a bit of good news when sideline reporter Kristen Balboni reported the injury designation "was more of a preseason precaution." The Panthers feel good about their starting lineup with Brown and Matt Ioannidis in the middle, but aren't deep there and will likely be looking for some help at that position as teams make cuts next week.
Then in the third quarter, kicker Zane Gonzalez went down while warming up on the sidelines, and was carted to the locker room moments later. He was announced as having a groin injury, and did not return.
After Gonzalez's freak injury during pre-game warmups last year in Buffalo, you'll pardon him if he never wants to see the Bills again.
Then, backup quarterback Sam Darnold suffered a left ankle injury late in the third quarter, and he also didn't return. He fell awkwardly while being dragged down by Bills defensive tackle C.J. Brewer. Darnold tried to get up, but fell again and was taken to the locker room. Panthers head coach Matt Rhule said the early indications were that it wasn't a fracture, but he wanted to "wait and see" until they got more tests.
The Panthers also lost tight end/fullback Giovanni Ricci to a groin injury in the third quarter. He's a key component of their special teams and has developed as a lead blocker in the run game as well.
— The Bills had parked quarterback Josh Allen and their stars on offense, but the Panthers still pitched a shutout in the first half, creating another turnover in the process.
The Panthers held the Bills to 89 yards in the first half, including a fourth-down stop deep in their own territory that ended a 19-play drive.
Safety Jeremy Chinn also came up with his second turnover of the preseason, picking off a Case Keenum pass early.
That one was a team effort, as defensive end Yetur Gross-Matos batted the pass at the line of scrimmage before Ioannidis tip-drilled it Chinn's way.
Chinn also forced a fumble in Washington, which was recovered by rookie Amaré Barno, and having him more involved in big plays will be important for the Panthers this year. Chinn had one sack, one interception, one forced fumble, and one fumble recovery last year as he adjusted to being a full-time safety.
The fourth-down stop in their own territory was a group effort, with linebacker Frankie Luvu and safety Xavier Woods stoning Duke Johnson.
— Christian McCaffrey is healthy and ready to go for the regular season, and he'll make a difference in the passing game.
Running back Chuba Hubbard is still not a polished receiver, and had a couple of drops early, which would have helped Mayfield's stat line.
— Mayfield's night was a solid one, as he led a couple of touchdown drives in four possessions. He had field position on the second one, but still moved the team well in his first home start. He finished the night 9-of-15 for 89 with the two scores.
View photos of Carolina's matchup against Buffalo at Bank of America Stadium in the final game of the preseason.