CLEVELAND (AP) From dominant to defeated - in less than a week. The San Francisco 49ers were reminded there are no perfect teams or givens in the NFL.

Brock Purdy suffered his first loss as a starter and the Niners had their regular-season winning streak stopped at 15 when rookie kicker Jake Moody missed a 41-yard field goal with six seconds remaining, giving the Cleveland Browns an unexpected 19-17 win on Sunday.

“I don’t think we deserved to win," said 49ers star defensive end Nick Bosa. "We didn’t underestimate them, but they did play better than us. We haven’t lost in a long time in the regular season, so it hurts a lot more.”

Dustin Hopkins kicked four field goals for the Browns (3-2) - the last with 1:40 left, capping a drive helped by a disputed unnecessary roughness call against San Francisco. Cleveland pulled off the upset without quarterback Deshaun Watson, who missed his second straight game with a bruised right shoulder.

The 49ers (5-1) came in looking nearly unbeatable after destroying Dallas 42-10 at home last week and scoring at least 30 points in each of their first five games.

But Cleveland’s top-ranked defense was more than up to the task, and the 49ers were short-handed in the second half without playmakers Christian McCaffrey and Deebo Samuel, who both went out with injuries.

P.J. Walker came off Cleveland's practice squad and outplayed Purdy, who threw his first interception this season, finished with just 125 yards and nearly pulled off a stirring comeback in the final moments before Moody's failed kick.

The 23-year-old Purdy had been perfect in his pro career, winning his first 10 regular-season starts and coming in with the highest passer rating (121.1) in league history for any quarteback through 10 games.

But the Browns kept him off balance and he completed just 12 of 27 passes (44%) - well below his league-leading average (72.1%) coming in.

“I didn’t play at the standard that I needed to,” Purdy said. "We feel like we failed our own expectations. I just have to be better and make the throws. Man, it’s the NFL. When you get opportunities, you’ve got to take care of them. There are plays that we didn’t make.”

Despite being without McCaffrey and Samuel, Purdy made a couple big throws on San Francisco's final drive and positioned the ball in the middle of the field for Moody, who pushed his attempt to the right.

“It’s on me,” said Moody, who missed a 54-yard in the first half. "I’ve got to make these kicks in these situations. That’s what I signed up for at my position. The team fought really hard to give me a chance.

"It was a perfect snap, perfect hold. I just didn’t hit it the way I wanted to.”

When the ball sailed into the net, Cleveland's sideline erupted in celebration and Browns fans danced in the aisles after seeing the home team finally catch a few breaks.

'"The truth is, we’re a good football team," Browns coach Kevin Stefanski said. “We’re not perfect, we know that. But we fought like crazy, and I’m just proud of so many guys.”

The 49ers were heavy favorites at the start of the week, and their odds only grew when the Browns ruled out Watson on Friday.

They turned to Walker, who was only signed in August, and the 28-year-old showed poise on Cleveland’s final drive - and got away with a questionable throw into the end zone - to set up Hopkins for the winner.

The Browns were also helped with a roughness call on 49ers safety Tashaun Gipson Sr., who spent four seasons with Cleveland. On 3rd-and-10, Walker's throw for Elijah Moore was high but Gipson was called for the personal foul for leading with his helmet.

“My view was his intent wasn't at all to do that,” 49ers coach Kyle Shanahan said. “It looked like the receiver was coming in there, jumping, too. It looked like they touched helmets from where I was. It didn't look that violent.”

Purdy was out of sync most of the afternoon, and things got even tougher for the second-year QB when Samuel went out with a shoulder injury and McCaffrey couldn’t push through an oblique issue.

On the road for the first time in four weeks, the 49ers began mixing it up with the Browns about 30 minutes before the opening kick.

Tempers flared during warmups with a brief skirmish on the 49ers sideline. There was a lot of trash talk and San Francisco left tackle Trent Williams shoved Moore from the side and knocked his helmet off.

Helped by two personal fouls against the Browns, the 49ers scored on their first possession with Purdy shoveling a short pass to McCaffrey, who made two quick cuts got to the outside and went in untouched.

SCORING STREAK

McCaffrey’s touchdown extended his streak of scoring to 15 straight games, two shy of the NFL record held by Hall of Famer Lenny Moore.

McCaffrey is tied with John Riggins and O.J. Simpson for second place.

INJURIES

49ers: Samuel spent an extended period in the medical tent before going to the locker room. He spent the second half on the sideline in street clothes. ... McCaffrey tried twice to come back in before being ruled out. Coach

Browns: LB Anthony Walker sustained a concussion and didn’t play in the second half.

UP NEXT

49ers: At Minnesota on Oct. 23.

Browns: At Indianapolis on Oct. 22.

---

AP NFL: https://apnews.com/hub/nfl

Copyright 2024 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.