Getty Images

The 49ers entered Week 6 as one of two unbeaten teams left in the NFL. They left with their first loss of the 2023 campaign, and they have the Browns to thank for it, even with Cleveland starting backup quarterback P.J. Walker in place of an injured Deshaun Watson.

San Francisco scored first on Sunday, with running back Christian McCaffrey tying an NFL record for most consecutive games with a scrimmage touchdown, then went up 10-0 despite losing wide receiver Deebo Samuel to a shoulder injury. But that was about it for Kyle Shanahan's offense against Jim Schwartz's defense, which limited QB Brock Purdy to 125 yards through the air to fuel a 19-17 upset.

The Browns weren't world-beaters with the ball in their hands Sunday, as Walker finished just 18 of 34 for 192 yards and two interceptions. Cleveland also converted just 3 of 13 third-down tries, even with Amari Cooper topping 100 yards receiving and the running duo of Jerome Ford and Kareem Hunt combining for more than 130 yards. But it didn't matter much, as the Browns limited McCaffrey to 3.9 yards per carry and kept Purdy uncomfortable in and around the pocket.

Cleveland was a 9.5-point underdog on Sunday.

Officials may have aided the Browns' victory, flagging San Francisco twice on Cleveland's go-ahead fourth-quarter drive for debatable penalties in the secondary, including a defenseless-receiver hit by Tashaun Gipson. But the 49ers couldn't capitalize on a drive into Browns territory during the ensuing possession, with kicker Jake Moody sending a 41-yard game-winning field-goal try wide right.

Walker is now 5-3 as an NFL starter despite only taking over as the Browns' temporary QB1 this week. Rookie Dorian Thompson-Robinson started in relief of an injured Watson in Week 5, but Walker, who previously started in the XFL and for the Panthers, was promoted from the practice squad to give Cleveland a more experienced fill-in.