SANTA CLARA -- The 49ers just beat the Arizona Cardinals 16-15 on a last-second field goal to improve their record to 3-0. Here are the 49ers' grades for this performance.
Mac Jones wasn't great. His passer rating was a modest 83.8, and he threw a critical interception in the fourth quarter that nearly lost the game. To be fair, he had no run game, no George Kittle or Jauan Jennings or Brandon Aiyuk, and no protection. He still got sacked just once, which speaks to his quick decision-making. And with the game on the line, he was clutch. He got the ball with 1:46 left in the game while trailing by 2 points, and led the offense 58 yards for the game-winning field goal without breaking a sweat.
For what it's worth, Brock Purdy got the ball down by 1 point with 1:32 left in the fourth quarter against the Cardinals last season, and threw an interception to lose the game. It was his second pick of the day. So there's no guarantee that Purdy would have played better than Jones today. The 49ers are lucky to have both quarterbacks.
Christian McCaffrey averaged just 3.1 yards per carry and broke maybe one tackle all game. He simply isn't elusive anymore. He's still a good receiver out of the backfield, but as a runner, he's nothing more than steady and dependable. He's not electric anymore. The 49ers need to get their other running backs involved. Brian Robinson Jr. had a 19-yard carry, which is longer than any McCaffrey run this season.
Jauan Jennings didn't play, which means Ricky Pearsall became the No. 1 wide receiver, and he rose to the challenge. He had 8 catches for 117 yards, including a long one in the fourth quarter. The other starter, Kendrick Bourne, made clutch catches on the final drive as well. Fortunately for the 49ers, Demarcus Robinson will return from suspension next week.
George Kittle didn't play, and the 49ers struggled to run the ball without his elite blocking. But for the second time this season, Jake Tonges made clutch catches on the final drive. He's a good player who needs more opportunities.
This grade is generous. Jones easily could have gotten sacked five times if he hadn't released the ball so quickly. And the running backs had nowhere to run. They couldn't run to the left or up the middle. Most of their successful runs went to the right. Rookie Connor Colby was awful and second-year guard Dominick Puni wasn't much better. Puni almost lost the game when he committed a holding penalty in the end zone, which was a safety. It's hard to see this unit improving this season.
Nick Bosa left the game with a knee injury that could be an ACL tear -- the 49ers don't know yet. We'll find out on Monday. But after he left the game, the defense didn't miss a beat. And that's because rookie Mykel Williams is a dominant run defender already, and Bryce Huff is an excellent edge rusher. The 49ers are not as dependent on Bosa as they were in the past, which is good, because he could miss time.
Fred Warner is the best defensive player in the NFL. He had 11 tackles and a clutch pass breakup to force a punt in the fourth quarter. Dee Winters had 8 tackles. And although he gave up a touchdown catch to Trey McBride, Winters still played well. McBride is just a great player.
Deommodore Lenoir was excellent as usual, which is why the Cardinals didn't test him. Upton Stout got tested on the Cardinals' final offensive play of the game, and he broke up the pass. He's the second-best cornerback on the team. Renardo Green is the worst, at least among the ones who start. He committed a holding penalty in the end zone that gave the Cardinals the ball at the 1-yard line. Teams will keep picking on him until he gives them a reason not to.
Eddy Pineiro made all three of his field-goal attempts. Jake Moody would have missed one and lost this game. Thank goodness for Pineiro.
Robert Saleh continues to show that he's arguably the best defensive coordinator in the NFL. Today, he shut down the Cardinals without a full game from Nick Bosa, which is extremely impressive. If only Kyle Shanahan had coached that well.
Instead, he called 32 of the 49ers' 62 offensive plays for Christian McCaffrey, who isn't dangerous anymore. It's hard to win when you dedicate more than half of your offensive plays to an old running back who doesn't break tackles like he used to. Once the 49ers got into a hurry-up offense at the end of the game, Shanahan stopped micromanaging the offense, and Jones started spreading around the football, something Shanahan should have let him do all game. He needs to figure out a new plan of attack before he gets McCaffrey seriously injured. He's on pace for 436 touches this season.
More must-reads:
Get the latest news and rumors, customized to your favorite sports and teams. Emailed daily. Always free!