Both starting quarterbacks left New Era Field feeling frustrated Sunday following the Patriots’ 16-10 win.
Tom Brady sarcastically called his performance “riveting” after he threw for just 150 yards and an interception against a stingy Bills defense. Brady’s 45.9 passer rating was his sixth worst in his career, and worst since 2006.
And Josh Allen wasted a dominant performance from the Bills’ defense, throwing three interceptions and leading the Bills to just 10 points on 11 offensive possessions.
Why were Brady and Allen so ineffective? Here is what I saw after reviewing the All-22 coaches’ film:
Tom Brady
Who is to blame for Brady and the offense having one of their worst performances of the last decade?
Advertisement
Was it the offensive line’s fault? Was Brady skittish in the pocket? Were the receivers not getting separation? Do the Bills have an elite defense, and executed perfectly?
The answer to all of those questions is, “Yes.”
They all contributed to Brady completing just 18 of 39 passes, going three-and-out seven times, and gaining just two first downs in the second half.
■ With Julian Edelman and Rex Burkhead both playing hurt, the Patriots’ receivers weren’t getting much separation against the Bills’ excellent secondary. On the Patriots’ first third down of the day, the Bills were able to blitz five defenders, and still lock down on all five Patriots receivers, forcing Brady to throw it away. Josh Gordon and Phillip Dorsett weren’t able to consistently win 1-on-1 against Tre’Davious White, Levi Wallace, and Kevin Johnson. Edelman’s bad drop over the middle when matched up 1-on-1 with a linebacker certainly didn’t help.

The Patriots had only 100 yards after the catch, their season low. They had 186 against Pittsburgh, 150 against the Jets, and 102 against Miami, when they barely threw the ball in the second half.
Advertisement
This is why the Patriots needed Antonio Brown. Their receiving corps is good, but not great, especially when Edelman is not 100 percent. Gordon and Dorsett need someone to take attention away from them.
■ Similarly, the Bills are an excellent pursuit defense, swarming quickly to the ball. Wallace made an outstanding pass breakup against James White, erasing 8 yards of cushion to break on a quick pass underneath and swat it away. And when Dorsett found a hole in the Bills’ zone on the 4-yard line, he was quickly gang-tackled before reaching the goal line.
■ The Bills deserve credit for executing an excellent game plan. They mostly played seven and eight defenders in coverage, but picked their spots carefully with the blitz, such as when linebacker Matt Milano came in untouched on third and 5 in the fourth quarter to force Brady to throw it away.

They didn’t bite hard on play-action fakes, and they flooded the middle of the field with safeties and linebackers, taking away the underneath routes. Brady spent a lot of the game double-clutching and pulling the ball back down on several slant and crossing passes to Edelman. Micah Hyde was outstanding in this area.

■ The run game was mostly atrocious, as the Patriots sorely missed fullback James Develin and center David Andrews. The result was the Patriots constantly getting behind the chains — 12 of 18 third-down opportunities were from 7 yards or longer. The average third-down distance was 8.22 yards.
And because the run game struggled, the play-action game was ineffective. Late in the fourth quarter, linebacker Tremaine Edmunds read the play-action fake the whole way, jumped in Brady’s throwing lane, and nearly picked off the slant pass.
Advertisement
■ The play-calling from Josh McDaniels was a bit off. There were a lot of long, slow-developing routes from the receivers, especially on third down. Brady was dropping back and chucking it deep on third and long, a sign McDaniels and Brady just didn’t know what to call. The Patriots had a little success with the screen pass, and ran one successful pick route to Gordon, but otherwise McDaniels couldn’t get into a groove.
■ And Brady was panicky in the pocket — he felt a pass rush when it wasn’t there, and didn’t always see the whole field. It began on his first pass of the game, when he missed Edelman coming open over the middle and instead intentionally overthrew Dorsett in double coverage. On Brady’s last throw of the game, an incomplete wheel route to White on third down, Brady missed Edelman streaking open over the middle for a potential first down.
Brady’s interception in the end zone was a bad play all around. He locked onto Edelman from the snap and rolled to his right. Hyde was covering Jakobi Meyers, but watched Brady the whole way, and came off Meyers to snatch the interception.
The biggest head-scratcher came in the second quarter. The Patriots ran a play-action pass with just Edelman and Gordon in the route. Brady threw the ball away at the first sign of pressure, and got busted for intentional grounding. Had he waited a half-second longer and looked downfield, he would have seen Gordon streaking to the end zone with inside leverage on the cornerback, and a good throw would have hit Gordon for a touchdown.
Advertisement

■ But Brady doesn’t play this poorly in a vacuum. He clearly didn’t feel confident in his patchwork offensive line or in his banged-up skill position players. The run game was atrocious, the receivers couldn’t get open, the Bills took away a lot of the underneath routes, and Brady didn’t want to take hits. The Patriots were outmanned, and Brady and McDaniels didn’t know how to overcome it.
Josh Allen
The Bills’ second-year quarterback flashed on a few plays. Allen threw two nice slant passes over the middle on run-pass option plays. He threw a perfect corner fade to tight end Dawson Knox for 21 yards on third down. Allen was poised and efficient in his first drive of the second half, breaking off one nice 15-yard run, and twice using his feet to create space and allow his receiver to break open.
The only problem was Allen is unable to replicate these good plays consistently, and he falls back into a lot of bad habits. Allen completed just 13 of 28 passes for 153 yards and three interceptions, and made mistakes that normally would get you benched in the NFL.
■ All three of his interceptions were avoidable. On his first, Allen missed Knox wide open in the flat, and instead chucked the ball deep into double coverage, resulting in an easy pick for Devin McCourty. On his second interception, Allen never saw Elandon Roberts slip and fall, leaving Frank Gore open by 15 yards in the flat. Instead, Allen again chucked up a deep pass into double coverage and J.C. Jackson came down with it.
Advertisement
On his third interception, Allen did a horrible job of avoiding the rush.
Instead of spinning to his left, where the field was wide open, Allen ran back and to his right and made an ill-advised throw downfield that again was picked by Jackson. Allen may have been trying to throw the ball out of bounds, but didn’t get enough on it.

■ The Patriots stacked the box and played a lot of press-man, single-high safety to stop the run, daring Allen to beat them deep. Allen had a few wide-open receivers throughout the day, and badly sailed the throws. His footwork and mechanics must be a mess.
■ The Patriots played it safe on first and second down, but sent the house on third down. In one instance, the Patriots came at Allen with an all-out, Cover-0 blitz (man coverage with no safety help). Allen, naturally, threw a deep ball 5 feet over Cole Beasley’s head.

Overall, Allen was just 1 for 3 for 21 yards on third down, and took four sacks. The Bills never max protected, and Allen wasn’t able to diagnose the rush properly or get the ball out of his hands quickly.
■ Allen had his one 15-yard scramble early in the third quarter, but otherwise rushed four times for 11 yards. Jamie Collins, Roberts, Duron Harmon, and McCourty each took turns spying Allen.
Allen is a great athlete and has a big arm, but his accuracy is a mess, he doesn’t read coverages quickly enough, and he doesn’t have a good feel for the pocket. Bill Belichick feasted on him.
Ben Volin can be reached at ben.volin@globe.com. Follow him on Twitter @BenVolin.