Grading the 49ers' players and coaches after beating the Cardinals 41-22

In this story:
Glendale, AZ -- The 49ers just blew out the Arizona Cardinals 41-22. Granted, the Cardinals got blown out last week too and now have lost 7 of their past 8 games since they lost to Mac Jones and the 49ers in Week 3. They're dead. They need to fire their head coach.
Still, the 49ers are now 7-4, and their offense seems to be rounding into form.
With that in mind, here are the 49ers' grades for this performance.
QUARTERBACK: B-PLUS

For the most part, Brock Purdy seemed like himself. He was accurate -- his completion percentage was 73 -- he threw three touchdown passes, he rolled out of the pocket, he extended plays, he made nice passes on the run, he forced a few passes into coverage that should have gotten intercepted -- these are all things Purdy does when he's 100 percent healthy.
But he's not 100 percent healthy, and you can tell when he runs. He's not as quick or elusive as he was before he injured his toe. He couldn't run away from pass rushers, and he was unwilling to scramble -- he never crossed the line of scrimmage, which was smart against the Cardinals. He didn't need to scramble to beat them.
But Purdy will need to scramble to beat playoff teams. He's not good enough to win consistently if he's stationary. That's how Mac Jones plays. Purdy is smaller than Jones and needs to get out of the pocket to see the whole field. We'll see if Purdy's mobility comes back this season. If it doesn't, their offense won't be elite.
RUNNING BACKS: A

Christian McCaffrey had his best game of the season. He scored 3 touchdowns, gained 121 yards from scrimmage and averaged a whopping 6.2 yards per carry.
Granted, he was facing the Cardinals, who got torched on the ground by the Seahawks last week. Still, McCaffrey was excellent -- much better than Brian Robinson Jr., who had outpeformed McCaffrey on the ground leading up to this game.
WIDE RECEIVERS: C-MINUS

Jauan Jennings was OK -- he had 4 catches for 54 yards. The other wide receivers were no good. Demarcus Robinson had just 1 catch for 13 yards, and Ricky Pearsall had 1 catch for 0 yards in his first game back from a PCL injury.
Pearsall probably isn't 100 percent healthy, and he clearly is rusty, which is to be expected after a six-week layoff. Still, if he's not playing well, throw the ball to Kendrick Bourne. He has been in the zone all season.
TIGHT ENDS: A

It's incredible how important George Kittle is the 49ers' offense. He's by far their best player. Today, he had 6 catches for 67 yards and 2 touchdowns. He's on fire after pulling his hamstring Week 1 and returning before he was fully ready to play. Now, he's had two dominant games in a row -- one with Purdy, and one with Mac Jones.
As long as Kittle stays healthy, the 49ers' offense will be good.
OFFENSIVE LINEMEN: B-PLUS

They blocked extremely well in the run game and gave up just 1 sack and only 3 quarterback hits. Of course, they were facing the Cardinals, who might be tanking. Or maybe they're just awful. Still, good performance by the offensive line.
DEFENSIVE LINEMEN: C-MINUS

They recorded zero sacks, which is a big reason the defense gave up an NFL record 47 completions. And they were facing Jacoby Brissett, who's not a starting quarterback. If they can't generate a pass rush against the Panthers quarterback Bryce Young next week, they're in trouble.
LINEBACKERS: C-PLUS

None of the linebackers could cover Cardinals tight end Trey McBride, who caught 10 passes for 115 yards and 1 touchdown. And Tatum Bethune left the game with an injury. But the rest of the linebackers defended the run well. Dee Winters and Curtis Robinson combined for 21 tackles.
And rookie Nick Martin made his 49ers debut at linebacker, and he made 6 tackles without giving up any big plays.
DEFENSIVE BACKS: C-PLUS

Upton Stout gave up a long catch, but also forced a fumble at the goal line to save a touchdown -- that was a great play. And Deommodore Lenoir and Malik Mustapha each intercepted Brissett once, which is impressive.
But Brissett isn't good. And he was missing his No. 1 wide receiver Marvin Harrison Jr. And yet, Brissett still completed an NFL record 47 passes, Cardinals wide receiver Michael Wilson caught 15 of them for 185 yards. Keep in mind, Wilson came into the game with 22 catches for the entire season.
Playing soft zone coverage against the Cardinals was smart, but it won't work against teams with legitimate starting quarterbacks.
SPECIAL TEAMS: C

Skyy Moore had a 98-yard kickoff return to start the game, and Brian Robinson Jr. had a 42-yard kickoff return in the second half. Both of them have been outstanding on special teams this season.
Unfortunately for the 49ers, Eddy Pineiro missed two extra points before leaving the game with a pulled hamstring that could put him on the shelf for a couple weeks. Maybe the 49ers can bring back Jake Moody.
COACHES: B

The 49ers won by 19 points, so there's not much to critique. That being said, the Cardinals largely beat themselves, considering they committed a whopping 17 penalties.
Kyle Shanahan and Robert Saleh coached well enough to beat Arizona, but they'll need to coach much better down the stretch this season, or the 49ers will miss the playoffs. Shanahan letting Ricky Pearsall run a bunch of routes without gaining any yards can't happen when Kendrick Bourne is on the team and in the zone.
And Saleh letting the opposing quarterback dink and dunk at will can't happen when the 49ers play non-backups. Their game plan will have to be much more aggressive next week.
But they can worry about next week tomorrow. For now, enjoy this win.
Read more

Grant Cohn has covered the San Francisco 49ers daily since 2011. He spent the first nine years of his career with the Santa Rosa Press Democrat where he wrote the Inside the 49ers blog and covered famous coaches and athletes such as Jim Harbaugh, Colin Kaepernick and Patrick Willis. In 2012, Inside the 49ers won Sports Blog of the Year from the Peninsula Press Club. In 2020, Cohn joined FanNation and began writing All49ers. In addition, he created a YouTube channel which has become the go-to place on YouTube to consume 49ers content. Cohn's channel typically generates roughly 3.5 million viewers per month, while the 49ers' official YouTube channel generates roughly 1.5 million viewers per month. Cohn live streams almost every day and posts videos hourly during the football season. Cohn is committed to asking the questions that 49ers fans want answered, and providing the most honest and interactive coverage in the country. His loyalty is to the reader and the viewer, not the team or any player or coach. Cohn is a new-age multimedia journalist with an old-school mentality, because his father is Lowell Cohn, the legendary sports columnist for the San Francisco Chronicle from 1979 to 1993. The two have a live podcast every Tuesday. Grant Cohn grew up in Oakland and studied English Literature at UCLA from 2006 to 2010. He currently lives in Oakland with his wife.
Follow grantcohn