The Carolina Panthers spoiled former defensive coordinator Sean McDermott's return to Charlotte Sunday.
The Buffalo Bills sacked Panthers quarterback Cam Newton six times and didn't allow a touchdown, but Tyrod Taylor and the offense struggled in the 9-3 loss.
Taylor finished with 180 total yards — 125 passing, 55 rushing — and had the Bills in position to at least tie the game late in the fourth quarter. But a poor throw to wide receiver Zay Jones on fourth down ended the Bills' late charge.
The game was the second with McDermott as head coach. He was on the Panthers' staff until this season, when he joined the Bills. Buffalo's new general manager, Brandon Beane, previously served in the Panthers' front office.
The Bills are now 1-1 on the season. The Panthers improved to 2-0.
Here is the Buffalo Bills Week 2 report card:
GRADING THE UNITS
Quarterbacks - D+
It wasn't a banner day for Tyrod Taylor, but at least he gave his team a chance to win it at the end. He had 180 total yards, including 55 on the ground, in the loss.
He needs to be better. He's not connecting with his wide receivers or his tight ends. The Bills have plenty of weapons. Taylor needs to use them.
Running backs - F
The Bills' running backs had 14 rushing yards Sunday. Cam Newton's longest run of the day went for 15 yards. That gives you an idea of how bad the Bills' rushing attack was against the Panthers. It wasn't pretty.
Part of the problem was the offensive line. It also seemed the Bills could've benefited from a third capable running back. It's nice to have LeSean McCoy, one of the game's great running backs, and Mike Tolbert, a bruising fullback. But the Bills need a Mike Gillislee-type change-of-pace runner. They don't have that right now. Jonathan Williams could've filled that role.
Receivers - D
Another quiet game for the Bills' wide receiving corps. Jordan Matthews caught three passes for 30 yards to lead the wideouts. LeSean McCoy had six catches for 34 yards in the losing effort. Tight end Charles Clay added three catches for 23 yards. The Bills need more out of their wide receivers. Taylor can't keep throwing to McCoy and Clay. That's not a recipe for success.
Offensive line - F
The Bills' zone blocking scheme isn't working. This group was a big part of the NFL's top rushing attack in 2016. Now, they're struggling. The Bills had 69 rushing yards against the Panthers. Most of the yards came on Tyrod Taylor runs. LeSean McCoy had an off day. Mike Tolbert couldn't get anything going either. Pass blocking wasn't much better. Taylor was pressured and sacked three times.
Defensive line - A+
An outstanding performance by this unit. The pass rush was led by Jerry Hughes, who registered two sacks and three tackles for loss in the defeat. Eddie Yarbrough had one sack. Shaq Lawson chipped in with a sack of his own. The front four also played a key role in limiting the Panthers' rushing attack. Carolina only had 77 rushing yards on 28 carries. Kyle Williams and others had a hand in stopping the run.
Linebackers - A
A shout-out to Ramon Humber, who has been a nice weak side linebacker for the Bills in the team's first two games. He was subject to criticism during the preseason, but he has been a major asset for this team. On Sunday, he had 11 tackles (seven solo) and one tackle for loss.
Veteran outside linebacker Lorenzo Alexander is Mr. Reliable. He had 10 tackles (six solo), one sack and two tackles for loss. He thrived in Rex Ryan's 3-4 scheme and that's continuing under McDermott's 4-3 design.
Preston Brown had seven tackles in Sunday's loss.
Defensive backs - A
Cam Newton had 228 passing yards, but that didn't result in any touchdowns. The secondary did its job in this game.
Jordan Poyer continues to impress as one of the Bills' new starting safeties. He tied for the team lead with 11 tackles (seven solo) and had one sack and a tackle for loss. He also had three passes defended to lead the team.
Rookie Tre'Davious White got beat on a few plays, but had a strong showing otherwise. He finished with six tackles (four solo), two tackles for loss and a pass defended.
Kicking and punting - A
What a day for Colton Schmidt. Six punts for 297 yards — a 49.5 yards per kick average — and two inside the 20-yard-line. That's one of his better performances of the last two seasons. He struggled in 2016 and has started 2017 off on the right foot.
Steven Hauschka didn't have a busy day. He kicked a 45-yard field goal, which helped the Bills stay in contention late in the game. It was his only extra point or field goal attempt of the game.
Returns and coverage - F
Brandon Tate was inactive for this game, which was a surprising decision. After an effective Week 1, why sit him? It certainly hit the Bills against the Panthers. The Bills had no kickoff returns and Kaelin Clay, who filled in as the punt return, had two returns for 2 yards. That's a dismal showing for the return unit.
Sean McDermott's staff went to Charlotte and put the team in a position to win. The lone criticism: Rick Dennison's offensive game plan hasn't been impressive in the first two contests. The Bills beat the Jets with a healthy dose of McCoy. The offense didn't rely on McCoy as much Sunday, and it showed. The zone blocking scheme has been a mess. The rushing attack should be much more of a factor than it was against the Panthers.
OVERALL TEAM PERFORMANCE
This grade is boosted by the team's defensive play. The only reason the Bills had an opportunity to win the game late in the fourth quarter was the defense's effort. They didn't give up a touchdown and they applied significant pressure on Cam Newton and the Panthers' offense. The Bills offense could use some work.
PLAYERS OF THE GAME
OFFENSE: Zay Jones. Why Zay Jones? One reason: He made a slick move on that final play to get open. Some have blamed him for not catching the pass. He made a great effort to catch a pass that was (slightly) off the mark. Should he have made the play? Maybe. But there's no doubt the throw could've been better. He made a great play to put his team in a position to win.
DEFENSE: Jerry Hughes. You think Jerry Hughes missed playing in the 4-3 scheme? He led the Bills with two sacks against the Panthers. His final line: Six tackles (four solo), two sacks and three tackles for loss. The Bills stymied the Panthers' offense and Hughes was a big part of that effort.
The offense. It's tough to pin this game on one play or one player. It really came down to the offense's failure to move the ball and score points. Tyrod Taylor was mediocre. LeSean McCoy had one of the worst games of his career. The wide receivers weren't much of a factor. The offensive line has had better outings.
STAT OF THE GAME
6. The Bills had six sacks Sunday. The Panthers offense didn't have a lot of success against the Bills defense. The pass rush was effective and the run defense was stout. The Panthers were limited to 77 yards on 28 carries.
STAT OF THE GAME II
14. The Bills' two running backs — LeSean McCoy and Mike Tolbert — combined for 14 rushing yards against the Panthers. The Bills aren't going to win games if the rushing attack is putting up bad numbers. Tyrod Taylor isn't Aaron Rodgers or Tom Brady. He's not going to use his arm to lead you to victory. The run offense needs to be better.
The Bills (1-1) will play at 1 p.m. Sunday against the Denver Broncos. The game will be televised on CBS.