During the offseason, the San Francisco 49ers had been predicted to remain Super Bowl contenders. They had a monstrously deep roster, all the way from breakout "Mr. Relevant" quarterback Brock Purdy to criminally underappreciated punter Mitch Wishnowsky - almost all of whom could be Pro Bowlers in their right.But injuries have taken their toll, and the team's play also took a massive hit in quality. Thus, they were sitting below .500 as they visited Orchard Park in Western New York on Sunday for a cold, snowy night game.There, the Buffalo Bills were undergoing a shocking renaissance. Originally thought to be done as contenders after ditching multiple stalwarts like Stefon Diggs, they instead remained the AFC East's overlords thanks to James Cook and a rejuvenated secondary.San Francisco 49ers vs Buffalo Bills box scoreTeam1Q2Q3Q4QTotalSan Francisco 49ers3 0 7010Buffalo Bills7 147735San Francisco 49ers player statsPassingPlayerCompletions/AttemptsYardsTouchdownsInterceptionsRatingBrock Purdy11/18940074.8Rushing and receivingPlayerCarriesYardsTouchdownsReceptionsYardsTouchdownsJordan Mason13780000Christian McCaffrey75302140Isaac Guerendo41911-30Brock Purdy240000Kyle Juszczyk1-10000Jauan Jennings0003560Deebo Samuel Sr.0004200George Kittle000170DefensePlayerTotal tacklesSolo tacklesSacksTackles for LossJi'Ayir Brown8500Renardo Green6500Dee Winters6300De'Vondre Campbell5301Charvarius Ward5201Malik Mustapha5100Fred Warner4300Nick McCloud4200Yetur Gross-Matos4201Evan Anderson4200Maliek Collins3300Leonard Floyd2100Sam Okuayinonu2100Khalil Davis2000Kalia Davis2000Chris Conley1100George Kittle1100George Odum1100Isaac Yiadom1100Kevin Givens1100Jalen Graham1000KickingPlayerField GoalsExtra pointsJake Moody1/31/1PuntingPlayerPuntsYardsInside 20LongestPat O'Donnell3124146Buffalo Bills player statsPassingPlayerCompletions/AttemptsYardsTouchdownsInterceptionsRatingJosh Allen13/1714820141.3Mitchell Trubisky1/140083.3Rushing and receivingPlayerCarriesYardsTouchdownsReceptionsYardsTouchdownsJames Cook1410711130Ray Davis11631140Ty Johnson5280190Josh Allen3181071Curtis Samuel170000Mitchell Trubisky4-30000Dawson Knox0002560Khalil Shakir0004300Quintin Morris0001140Amari Cooper0003120Mack Hollins000171DefensePlayerTotal tacklesSolo tacklesSacksTackles for LossTerrel Bernard9300Taron Johnson6400Taylor Rapp6300Damar Hamlin5500Matt Milano5300Rasul Douglas5301Greg Rousseau4413DaQuan Jones3101Cam Lewis2200Quinton Jefferson2100Ja'Marcus Ingram2100Cole Bishop2100Ed Oliver2000Von Miller1100Tyler Bass1100Casey Toohill1100Joe Andreessen1100Dorian Williams1100Reggie Gilliam1000Nicholas Morrow1000AJ Epenesa1000Quintin Morris1000Christian Benford1000KickingPlayerField GoalsExtra pointsTyler Bass0/03/3PuntingPlayerPuntsYardsInside 20LongestSam Martin3140148San Francisco 49ers vs Buffalo Bills game summaryThe game began with the Bills failing to make progress on the opening drive and being forced to punt - and Jake Moody punished them for it with a field goal. The next drive lasted seven and a half munites and ended with Ray Davis rushing to the endzone for the lead.To begin the second quarter, Brock Purdy appeared to have been pressured into a Damar Hamlin interception. He was instead called for illegal contact, allowing the 49ers to continue the drive, but at the cost of Christian, McCaffrey, who hurt his leg on the next play. It ended in a missed field goal that James Cook immediately punished with a 65-yard touchdown rush.The 49ers' next drive ended in a punt while in enemy territory, which Allen punished with a touchdown to Mack Hollins. The first half ended with Moody missing yet again.The second half began disastrously for the 49ers, as Taylor Rapp punched the ball out of Kyle Juszczyk during a running play, which Christian Benford then recovered. That turnover, however, resulted in nothing, as the Bills were forced to punt in enemy territory.The 49ers’ first drive of the half also ended in a punt, and it did not go unpunished - Allen and Amari Cooper considered for a lateral touchdown. Isaac Gurerndo did not take long to respond, however, rushing for the 49ers’ first six of the night.They then forced a punt, but Bruck Purdy lost possession on a Greg Rousseau sack. Allen promptly punished it with a rushing touchdown.On the ensuing kickoff, Deebo Samuel fumbled the return, returning possession to the Bills. However, Tyler Bass missed the field goal attempt. The Bills forced a punt, then marched into enemy territory to end the game.