Only three teams since 1990 have reached the playoffs after starting 0-3, none since 1998.
The Browns have lost two at home to open the year and head to rival Baltimore on Thursday night.
The Bills (2-1) scored on their first two drives for a 14-0 lead. The Browns eventually cut it to 17-14 late in the third quarter and appeared to have momentum, especially with Buffalo missing running back C.J. Spiller, who injured his shoulder in the first quarter.
But the Bills took a 24-14 lead with 9:08 left on a 9-yard touchdown pass from Ryan Fitzpatrick to Steve Johnson, who beat cornerback Dimitri Patterson on an inside move.
The Browns’ next possession failed when center Alex Mack was penalized for holding, which negated a third-down completion to Greg Little near midfield. When the Browns faced fourth-and-9 a play later from Cleveland’s 36-yard line, Shurmur punted with about 6:30 left.
The Browns quickly forced a punt, but it didn’t matter. Quarterback Brandon Weeden was sacked on first down from the Buffalo 42-yard line, then threw an interception intended for receiver Josh Gordon over the middle.
Weeden went 27-for-43 for 237 yards with one touchdown and interceptions on his final two drives.