Ray Davis played about a third of the snaps and contributed 63 yards on 11 attempts with a touchdown, and even Ty Johnson got in the game with 28 yards on five attempts.
The Bills’ line was outstanding all night as they punched holes in San Francisco’s front that was missing DE Nick Bosa and star LB Fred Warner was out for a few series. Nobody touched Cook on his long TD run.
Brock Purdy never had a chance. He played with a sore shoulder and has never played in such weather. He completed just 11 of 18 for a paltry 94 yards and was really hampered when star RB Christian McCaffrey left in the second quarter with a knee injury after being sorely missed in the short passing game.
Star TE George Kittle was invisible with just one catch for seven yards and Deebo Samuel had four for 20 yards. The only player who was productive was Jauan Jennings, who had three for 56, but most of that came when the game was decided.
The Bills sacked Purdy twice, Greg Rousseau getting one, while the other was called a team sack because Purdy lost a fumble behind the line of scrimmage that was recovered by Rousseau. Damar Hamlin should have intercepted, but this was negated by a ticky-tack holding call to Hamlin before he made the catch. It was a bad call.
RUN DEFENSE: C-
At the start of the game it looked like the 49ers would manage to win the game as McCaffrey and Jordan Mason combined for more than 100 yards rushing in the first quarter, but then McCaffrey left and the 49ers offense was paralyzed after that .
He had 53 yards on just seven carries before exiting, and Mason had 78 yards as the 49ers finished with 153 yards and a 5.7 average per attempt. The Bills’ grade is slightly higher due to the conditions and the difficulty of wrapping up ball carriers.
Terrel Bernard led the Bills with nine tackles, while Taron Johnson and Taylor Rapp each had six and Matt Milano had five tackles in his return to action.
One of the biggest plays of the game came when Rapp forced a Kyle Juszczyk fumble at the Bills 4 and CB Christian Benford returned it 43 yards to thwart a 49ers scoring opportunity in the third quarter.
SPECIAL TEAMS: C
Man, a lot happened in the kicking game. Let’s start with the good. Tyler Bass may have missed a 49-yard field goal, but that was completely understandable. What was impressive was that he made all five of his extra points, none of which were easy.
Cole Bishop forced a fumble from Deebo Samuel on a kickoff return that was fouled by Jalen Virgil. And punter Sam Martin averaged 46.7 yards on three kicks and one down at 6.
Now the bad. Samuel averaged 34.7 yards on six kick returns, including 60- and 43-yarders. And Brandon Codrington’s 75-yard punt return TD was called back due to a holding penalty against Bishop.
COACHING: A
The Bills dominated in every phase, no small feat against Kyle Shanahan and his team. Sean McDermott deserves to perform Snow Angels next to Allen on live television afterwards.
McDermott was smart about it, choosing not to take too many risks because it was so difficult to pull off cleanly, and that philosophy worked well. And the one gamble he took on a fourth-and-2 in the third quarter paid off and led to the Bills’ fourth touchdown.
Defensively, things started out a little rough as the Bills were mishandled in the run game at the top, but they made adjustments and when McCaffrey went out, they began to control the line of scrimmage. And their zone packages, coupled with the conditions, kept Kittle and Samuel at bay.
On offense, Joe Brady knew establishing the run was critical, and he accomplished that goal. He used all three defenders early in the game to keep them all fresh, and it paid off after 220 yards.
Sal Maiorana has been covering the Buffalo Bills for four decades, including 35 years as a full-time beat writer for the D&C, and he has written numerous books on the team’s history. He can be reached at maiorana@gannett.com and you can follow him on X @salmaiorana and on Bluesky @salmaiorana.bsky.social. Sign up for his Bills Blast newsletter here: https://profile.democratandchronicle.com/newsletters/bills-blast