Yardbarker
x
Grading the 49ers' players and coaches after their win over the Giants
San Francisco 49ers quarterback Mac Jones (10) celebrates with San Francisco 49ers running back Christian McCaffrey (23) after scoring a touchdown during a week 9 game between New York Giants and San Francisco 49ers at MetLife Stadium on Sunday, Nov. 2, 2025. Julian Leshay Guadalupe/NorthJersey.com / USA TODAY NETWORK via Imagn Images

East Rutherford, New Jersey -- Of all the victories in 49ers' franchise history, this certainly was one of them.

The 49ers beat the New York Giants 34-24 on the road, which is impressive. And they won again with their backup quarterback. But the Giants are one of the most pathetic teams in the NFL, and this particular victory came at a big cost -- the 49ers may have lost Mykel Williams for the season.

With that in mind, here are the 49ers' grades for this performance.

QUARTERBACK: A-MINUS

Ed Mulholland-Imagn Images

Mac Jones won his fifth start in seven games with the 49ers, which is impressive. Granted, he was facing the Giants, who are truly awful. Still, he completed his first 14 pass attempts and posted a passer rating of 135.2. He also fumbled once, but I blame Kyle Shanahan (more on him in a minute).

As long as Jones is winning and playing this efficiently, the 49ers should keep Brock Purdy on the bench. Not because Jones is better than him -- they're both good. Rather, Purdy still isn't 100 percent healthy, and the 49ers can't afford to throw him back on the field before he's ready and risk reinjury for the second time this season. The more Jones wins, the longer the 49ers can keep Purdy on the shelf.

Perhaps he'll be ready down the stretch when they need him, although after the game, Kyle Shanahan said Purdy probably won't make a full recovery this season. Which means Jones could be the starter indefinitely.

RUNNING BACKS: A-MINUS

Julian Leshay Guadalupe/NorthJersey.com / USA TODAY NETWORK via Imagn Images

Christian McCaffrey made it through another game in one piece despite touching the ball an absurd 33 times. Extremely impressive. He also scored two touchdowns and led all players with 173 yards from scrimmage.

But Shanahan padded McCaffrey's stats by giving him carries late when the game essentially was over. Once again, McCaffrey averaged fewer than 4 yards per carry, which shows how much he has slipped as a runner even if he's still an excellent receiver.

Fortunately for the 49ers, they have Brian Robinson Jr., who's fresh after watching McCaffrey carry the load for the first half of the season. Today, Robinson scored an 18-yard touchdown run and averaged 10.6 yards per carry. I'm not saying the 49ers should bench McCaffrey, but their offense is decidedly better when Robinson is involved.

WIDE RECEIVERS: B

Robert Deutsch-Imagn Images

Jauan Jennings, who requested a trade in the offseason, finally had a good game just two days before the trade deadline. Go figure. It's almost like he was extra motivated to play well today. If that's the case, good for him. I hope he gets the trade he wants. He certainly upped his trade value with this performance.

And the 49ers don't need Jennings anymore. That's because they have Kendrick Bourne, plus Brandon Aiyuk and Ricky Pearsall are returning soon, supposedly, and Jordan Watkins is asserting himself as a promising young receiver.

Demarcus Robinson is having a truly horrible season, though. He doesn't appear to be improving whatsoever.

TIGHT ENDS: B-MINUS

Ed Mulholland-Imagn Images

George Kittle had a modest game by his standards -- four catches for 32 yards. To be fair, he's still recovering from a torn hamstring, and the 49ers didn't need him to produce big numbers to beat the Giants. They were rightfully prudent with him.

Until Kyle Shanahan called a jet sweep for Kittle in the red zone which lost 3 yards. Shanahan should delete that play from his playbook. Kittle isn't young enough to execute it.

OFFENSIVE LINEMEN: B

Darren Yamashita-Imagn Images

The run blocking was good -- just look at Brian Robinson's production. And the pass protection was solid for the most part, considering Mac Jones got sacked just twice. But one of the sacks resulted in a fumble because Colton McKivitz got absolutely destroyed by Giants edge rusher Brian Burns.

McKivitz is the biggest liability on the 49ers' offense because he plays a critical position and he's bad at it. Too bad they gave him a three-year, $45 million extension this offseason. He's not worth it.

DEFENSIVE LINEMEN: C

Robert Deutsch-Imagn Images

Clelin Ferrell recorded a sack in his first game with the 49ers this season, and Sam Okuayinonu recorded one as well. They were the 49ers' best edge rushers by far in this game.

And yet, despite their performances, the 49ers still gave up 5.6 yards per carry and could not contain quarterback Jaxson Dart on scrambles or designed runs. And then Mykel Williams, arguably their best run defender, went down late in the fourth quarter when the victory was in hand with what the 49ers fear is a season-ending ACL tear. Brutal.

Now the 49ers almost have to trade for another defensive lineman before Tuesday's deadline.

LINEBACKERS: C-PLUS

Ed Mulholland-Imagn Images

Tatum Bethune recorded a game-high 16 tackles, which is an extremely impressive number, but most of those tackles came against ball carriers who already were at least five yards downfield. The run defense wasn't good, and Dee Winters made no impact. The 49ers need to give rookie linebacker Nick Martin a chance to play. This group needs a spark.

DEFENSIVE BACKS: C-MINUS

Ed Mulholland-Imagn Images

They didn't tackle or cover particularly well, and they gave up a passer rating of 107 to a rookie quarterback playing without weapons. Cornerback Deommodore Lenoir has not lived up to his five-year contract extension so far this season -- he gave up a touchdown today when he whiffed on a tackle near the sideline.

The best cornerback on the team through nine games has been Renardo Green. He had two pass breakups today. Ji'Ayir Brown also had one in the end zone.

SPECIAL TEAMS: A

Ed Mulholland-Imagn Images

Eddy Pineiro made both of his field-goal attempts, and Brian Robinson Jr. returned a kickoff 41 yards. He's playing so well, the 49ers have no choice but to find ways to get him the ball. Good for Robinson. He didn't ask the 49ers to trade for him.

COACHES: C

Robert Deutsch-Imagn Images

The 49ers won the game, but the Giants are so bad without rookie running back Cam Skattebo who's out for the season, it would have been difficult to lose.

For the second week in a row, Robert Saleh called an extremely passive game. Last week, he gave up 26 points to the Texans' terrible offense. This week, he gave up 24 to the Giants, who are even worse. And his defense still can't contain a mobile quarterback.

On offense, Kyle Shanahan deserves credit for the 49ers scoring 34 points. He also deserves criticism for the 49ers' one turnover of the game -- a sack/fumble deep in the 49ers' territory that would have given the Giants three points if they could make a field goal. On that play, Shanahan asked Colton McKivitz to block Brian Burns one-on-one without the help of a chip. Bad idea, Kyle. Those are the kinds of decisions that get quarterbacks injured.

In addition, Shanahan deserves criticism for having Mykel Williams on the field so late in a game that already was essentially over. Now, Williams most likely is out for the year. Finally, after Williams went down, Shanahan kept McCaffrey in the game and gave him the ball repeatedly for no good reason. The 49ers are lucky that McCaffrey hasn't gotten injured this season considering how irresponsibly Shanahan has used him.

So, sure, a win's a win. But hopefully, Shanahan learned his lesson.

This article first appeared on San Francisco 49ers on SI and was syndicated with permission.

More must-reads:

Customize Your Newsletter

Yardbarker +

Get the latest news and rumors, customized to your favorite sports and teams. Emailed daily. Always free!