49ers grades: San Francisco earns As in thumping Cleveland Browns 31-3

The 49ers improved to 4-0 for the first time since 1990 with a 31-3 pounding of the Cleveland Browns. Here’s our report card.

Passing offense: B

The 49ers didn’t ask much of Jimmy Garoppolo early on. He hit halftime with just 47 yards on 13 attempts as the 49ers went into the game with a run-first game plan. Garoppolo threw touchdown passes to Matt Breida and George Kittle. He went for 181 yards on 20 of 29 completions. His 108.5 passer rating marked the second time he eclipsed triple digits this season. Garoppolo’s most important stat: zero interceptions. It was the first game this season he didn’t throw a pick.

Rushing offense: A+

It started on the first snap when Matt Breida sped through the right side of Cleveland’s defense, with some great blocking from his teammates, for an 83-yard score. Tevin Coleman added a 19-yard touchdown run late in the second quarter and the 49ers hit halftime with 185 yards on the ground and a pair of touchdowns. Breida led the way with 114 yards, Coleman had 97 and even George Kittle and Marquise Goodwin had successful jet sweeps. The 49ers finished with 275 yards on 40 carries, a 6.9-yard average.

Passing defense: A+

The 49ers made their first big defensive play when Nick Bosa pressured Baker Mayfield two snaps after Breida’s long touchdown run leading to Richard Sherman’s second interception of the season. Bosa was in the backfield all night and got some revenge on Mayfield with a near sack that led to an intentional grounding penalty. Afterward, Bosa pretended to wave and plant a flag, as Mayfield did with Oklahoma following a road win at Ohio State in 2017. Emmanuel Moseley, a 2018 undrafted free agent, made his first start and was hardly targeted. He saved a touchdown with a pass breakup in the end zone in the second quarter and had good coverage on a long pass to Odell Beckham Jr. in the third. Mayfield’s line: 8 of 22, 100 yards, two interceptions, a fumble lost and a 13.4 passer rating.

Rushing defense: B+

The defense allowed a 37-yard run to star running back Nick Chubb on a funky play in which he was the up back and Odell Beckham Jr. was in the backfield. Chubb was held in check otherwise, and the 49ers finished the game without allowing a rushing touchdown. Chubb had 87 yards on 16 carries and Beckham added 15 yards on two runs. The 49ers remain the only team in the NFL to not allow a score on the ground this season.

Special teams: D-

Robbie Gould missed three field goals, included one that was blocked in the third quarter. It was easily Gould’s worst game since coming to the 49ers in 2017. He made 72 of 75 the past two years, matching his total of misses from Monday night alone. Gould’s misses would have been a far bigger story in a closer game. The only play that saved this from being an ‘F’ was Marcell Harris’ forced fumble on Beckham’s punt return in the fourth quarter. Harris was promoted off the practice squad last week.

Coaching: A

Kyle Shanahan had his team sharp after the bye week, which was a concern coming in. He held extra practices early in the week in addition to a light practice last week before giving the players their mandatory time off. Shanahan has made it clear the 49ers are going to lean heavily on the running game and build the passing attack off that, particularly with rookie Justin Skule playing left tackle against Myles Garrett (who had one sack coming on the other side against Mike McGlinchey). The 49ers outgained the Browns, 448-180.

Related stories from Fresno Bee