By Tim Graham, Joe Buscaglia and Matt Barrows
ORCHARD PARK, N.Y. — Josh Allen threw for a touchdown. He ran for a touchdown. He even caught a touchdown.
On a snowy Sunday night in Buffalo, the Bills quarterback did a little bit of everything, powering his team to a 35-10 win over the San Francisco 49ers that sparked “M-V-P” chants throughout Highmark Stadium. With the win, the Bills (10-2) clinched the AFC East for the fifth consecutive year — the longest streak in franchise history — with five regular-season games still to play.
Allen passed for 148 yards and two touchdowns — the second of which was the play of the night. With Buffalo ahead 21-3 and in the red zone, Allen completed a short pass to Amari Cooper, then received a lateral from his receiver as Cooper was being tackled. The quarterback broke a tackle, sprinted down the left sideline and dove into the end zone for what counted as a receiving touchdown.
Allen became the seventh player in the Super Bowl era, and first quarterback, to throw for, run for and catch a touchdown in the same game, according to Stathead.
THIS IS THE MOST RIDICULOUS THING WE HAVE EVER SEEN.
📺: @SNFonNBC pic.twitter.com/LzaOt3MDLj
— Buffalo Bills (@BuffaloBills) December 2, 2024
For the 49ers (5-7), a disappointing season was made worse. Running back Christian McCaffrey, who has played just four games this season because of injuries, suffered a PCL injury in the second quarter and did not return. Quarterback Brock Purdy, returning from a shoulder injury that sidelined him last week, threw for just 94 yards in the inclement weather. And San Francisco fell two games behind the Seattle Seahawks in the NFC West.
The Bills, who still trail the Kansas City Chiefs by one game for the No. 1 seed in the AFC, travel to play the Los Angeles Rams next Sunday. The 49ers host the Chicago Bears.
An MVP-level performance by Allen
What can’t Allen do? The molten MVP candidate scored three touchdowns on two plays (sort of) in a span of 8:27 in the second half.
The big anomaly happened with 5:58 left in the third quarter. He threw to Cooper in the left flat at the Niners’ 7-yard line. Three defenders swarmed Cooper and seemed content to wait for the forward-progress whistle. So Allen zipped over and asked for the ball. Cooper lateraled. Allen skirted the three Niners and dove for the pylon. Officially, Allen got credit for the touchdown pass and a receiving touchdown reception, although not the reception (that went to Cooper).
For fantasy football purposes, Allen generated TD points on both ends of the play.
Allen added his rushing touchdown on an 8-yard scramble 2:29 into the fourth quarter to give Buffalo a 35-10 lead. With the game under control, Sean McDermott removed Allen, who seemed to injure his left hand or wrist in the first half, and let Mitchell Trubisky handle the rest.
Allen also connected with Mack Hollins on a 7-yard touchdown 41 seconds before halftime. — Tim Graham, Buffalo senior writer
Bills dominate on the ground
The Bills’ rushing attack, led by top runner James Cook, helped Buffalo take over the game in the second quarter and ride the wave to a win. Cook’s 65-yard touchdown run was a slam-the-door-shut moment, as it was the first play of a Bills drive when the team was up only 7-3. Cook rushed for 100 yards in the first half alone, running with both speed and power even in the snowy elements.
LET JAMES COOK!!!!
📺: #SFvsBUF on NBC/Peacock
📱: Stream on #NFLPlus pic.twitter.com/7j68JPz6Nl— NFL (@NFL) December 2, 2024
But it wasn’t Cook by himself. Rookie Ray Davis ran for 63 yards on 11 carries with a touchdown. The rushing attack was keyed by the Bills’ excellent offensive line, and even in a tough matchup against the 49ers defensive line, it was a statement game for that entire unit. — Joe Buscaglia, Bills beat writer
How Buffalo clamped down on San Francisco’s offense
The 49ers found early success running the ball for some explosive plays, and it helped lead to scoring chances. However, the Bills defense deserves credit for getting off the field in key moments. It forced field goal attempts and turnovers and kept the pressure on the 49ers without letting them get comfortable.
This was yet another example of the Bills’ defensive identity in 2024. They allow some big individual plays, but when opponents get close to scoring, the defense finds a way to get off the field, usually with minimal impact. On top of it all, they’re healthy, with star linebacker Matt Milano returning from a 14-month absence to a starting role. Things are looking up for the Bills defense. — Buscaglia
Injuries continue piling up for 49ers
To this point, the 49ers’ season has been defined by which stars have been missing from the lineup, and it’s never been as bad as it was Sunday.
The contest started without Nick Bosa, Trent Williams and Deommodore Lenoir all nursing injuries, and with Brandon Aiyuk, Javon Hargrave and Talanoa Hufanga having been on injured reserve for weeks. Then they lost McCaffrey, who had 53 yards on seven carries — including his two longest runs of the season — after he fell hard on his knee early in the second quarter.
The 49ers also played a stretch without Fred Warner, who dealt with cramping in the second quarter. Perhaps not coincidentally, Cook’s 65-yard touchdown run came on one of the plays Warner missed. The 49ers gave up 220 rushing yards Sunday, one week after allowing 169 yards in a loss to the Green Bay Packers. — Matt Barrows, 49ers beat writer
How San Francisco tried to replace its stars
One result of all the injuries and the blowout loss — seldom-used 49ers saw a lot of action in the snow in Buffalo. That included rookie running back Isaac Guerendo, who got most of the carries after McCaffrey left the game in the second quarter and Jordan Mason was checked for a concussion. Guerendo scored a 15-yard touchdown in the third quarter, his second TD of the season.
Others who had their busiest games of the year for San Francisco included guard Ben Bartch, who took over for Aaron Banks (concussion), and nickel cornerback Nick McCloud, who played in place of Lenoir (knee).
Warner briefly left the game for cramps, not the fractured ankle he’s been playing on since Week 4. He eventually was relieved by Jalen Graham late in the fourth quarter, but the blowout nature of Sunday’s game only amplifies the question: Should Warner continue to play on the ankle when the 49ers clearly don’t look like a playoff-bound team? — Barrows
Required reading
- Should 49ers play with an eye toward next season? They are already doing that
- 49ers mailbag: Why not Josh Dobbs? What changes are looming this offseason?
- Making it look routine: How a schedule of Sundays helps Buffalo Bills thrive
(Photo: Bryan M. Bennett / Getty Images)