We saw our answer about who would start in the slot with Emmanuel Moseley sidelined with a hamstring injury and none other than Dontae Johnson. The Bills threw at Johnson on the first play from scrimmage after Javon Kinlaw jumped offsides. After a big play given up, thanks to Tarvarius Moore’s bad eyes, Buffalo drove into the red zone.
After what appeared to be a fumble, the call was overturned, and Buffalo was faced with a third and goal. Their screen came up short, then, on fourth down, Josh Allen’s pass sailed out of the end zone, and the Niners had a much-needed fourth-down stop.
With the offense taking over at the two-yard line, it didn’t take long for them to get out of their end zone. A defensive pass interference helped, as did a 16-yard gain from Raheem Mostert, who followed that run up with an eight-yard gain. Mostert’s speed showed up early. After Jordan Reed and Brandon Aiyuk got in on the action, San Francisco found themselves in the red zone. After Kyle Juszczyk was stuffed on third down, Jeff Wilson Jr. came up short, and San Francisco turned the ball over.
Because this game wasn’t crazy enough, the Bills fumbled in the end zone on the next play. Nick Mullens found Aiyuk, who beat his man on a slant, for a touchdown. That gave the 49ers a 7-0 lead. Based on the first drive, the Bills were going to move the ball. They scored in five plays on their second drive and drove 77 yards in under three minutes. Allen made plays down the field and found Cole Beasley, who beat Richard Sherman for a touchdown. That tied the score at seven.
After a three-and-out by the offense, the Bills marched 14 plays for 69 yards for a touchdown that took 7:49 off the clock. Allen was in a zone all first half, and he continued to look like an MVP on this drive. An illegal contact penalty negated an interception by Fred Warner on Sherman. From there, the Bills drove before Allen found tight end Dawson Knox in the end, zone. Shanahan was furious on the sideline as he felt Dre Greenlaw was held on the fourth down play.
The 49ers needed points before the end of the half, but they ran the ball then checked it down. On third down, Mullens threw the ball into traffic and was lucky to avoid an interception. The Bills were more aggressive with:26 seconds to play than the 49ers were coming out of the two-minute warning. Buffalo added a field goal to make it 17-7. Allen played out of his mind in the first half. He went 19-23 for 236 yards and two touchdowns. Beasley had 113 yards on seven receptions. The 49ers’ defense didn’t have an answer for either.
The offense came out hot in the second half as they had three chunk plays to get into Bills territory, but a nine-yard loss from Tevin Coleman after Aiyuk missed a block killed a promising drive. Robbie Gould’s 45-yard field goal made it 17-10.
It felt like the 49ers would get a stop on defense, but a few penalties, including an egregious roughing the passer on Kentavius Street, gifted Buffalo a first down. The Bills scored, then on the next play, Aiyuk bobbled a pass that was tipped in the air for an interception. It probably should have been an illegal contact, but Aiyuk can’t drop that pass. That gave the Bills a short field. The defense held, but a field goal made the score 27-10 with just over three minutes to play in the game.
The 49ers didn’t waste any time, as they found the end zone in under three minutes thanks to a deep reception from Aiyuk that put the 49ers in scoring position. A short pass to Kyle Juszczyk made it 27-17, Bills.
Dion Jordan sacked Allen on the next play, but the 49ers couldn’t take advantage and gave up a first down. Diggs got the best of Jason Verrett on a few routes on the drive, and the Bills ended up scoring on a coverage bust to Sherman’s side. It looked like a well-drawn up play that messed with the defenses coverage rules. That made it 34-17.
The 49ers moved the ball down the field on the next drive with ease. It appeared that Kendrick Bourne reached the end zone, but he failed to reach the ball over the goal line. On the five-inch line, Mullens had a false start. Then, after avoiding pressure, he threw it behind Jeff Wilson Jr. for an interception. That play all but ended the Niners’ comeback hopes.
Jordan Reed added a late garbage time touchdown.
This was a Josh Allen game. He was spectacular. The 49ers had no answer for Allen, Beasley, or Diggs. Mullens made some late mistakes, but this game isn’t on him. It also didn’t feel like the offensive line played poorly, either. Simply put, the Bills were the better team on Monday night.