Skip to main content

49ers 34, Vikings 26: Grades

Had Kyle Shanahan called games like that the first eight weeks of the season, the 49ers record would be so much better right now.

SANTA CLARA -- Bravo, 49ers.

That was a huge 34-26 win over the Minnesota Vikings. That was your best win of the season. Now you're 6-5, and you're one game out of the fifth seed in the NFC playoffs. If you keep this up, you just might make a Super Bowl run.

Here are your grades for your third win in a row.


An hour before kickoff, the NFL Network's Ian Rapoport reported that the 49ers intend to trade Garoppolo this offseason unless they make a Super Bowl run. Strange timing. And for most of the first half, Garoppolo played like a guy who heard the news. He seemed dejected and unengaged, and was awful until the final drive of the first half. And while he made some strong throws to help the 49ers win, his overall performance was average. He was a passenger in this game. And he was the only player on the 49ers who turned the ball over. And he sacked himself twice because he can't move. He won because the Vikings turned the ball over twice and the 49ers have Deebo Samuel. Which means the 49ers won in spite of Garoppolo. After the game, I asked Garoppolo if he heard Rapoport's report before the game and if it affected him. Garoppolo shrugged and said he didn't know about it. I'm not sure I believe him.


I'm giving him his own category because he doesn't have a position. Technically, he's a wide receiver, and a damn good one, but he caught only one pass in this game. The past few weeks, he has been a running back, and the best one in the NFL. That's right -- the best running back in the league is a wide receiver. Samuel completely changes games with just five carries. Today he had six carries for 66 yards and two touchdowns, and that was the difference in the game. The 49ers would not have won without that six carries. As long as he's healthy and playing running back, the 49ers can beat anyone. Unfortunately for them, Samuel left the game with a groin injury, which will require an MRI on Monday. The 49ers say they don't think the injury is serious, but he still could miss a game or two. It will be interesting to see if the 49ers can win without him.


Elijah Mitchell isn't as good as Samuel, but he's still excellent. Mitchell doesn't break long runs like Samuel -- Mitchell's longest gain was 15 yards -- but he still averaged more than 4.9 yards per carry despite rushing a whopping 27 times. Mitchell and Samuel give the 49ers a devastating one-two punch in the backfield. And Kyle Juszczyk caught a 26-yard pass with the game on the line. 


Brandon Aiyuk led the 49ers with 91 receiving yards, and Jauan Jennings caught a touchdown pass. Jennings will have to step up if Samuel misses time.


George Kittle and Charlie Woerner both blocked well, but neither was a factor in the pass game. Each caught just one pass. The 49ers will need to get Kittle much more involved down the stretch, especially if Samuel's injury keeps him out.


Read More

Their pass protection was decent -- they gave up two sacks to a defensive line missing most of its starters. And they blocked well in the run game. The 49ers long runs all came behind right tackle Tom Compton, which is the suprise of the century. I guess the 49ers don't need Mike McGlinchey, do they?


They helped hold the Vikings to 3.7 yards per carry, and Nick Bosa recorded a sack. Plus Kevin Givens forced a fumble. But collectively, this group sacked Kirk Cousins just once, and Arik Armstead made no impact. They're fortunate the 49ers offense held the ball for more than 37 minutes.


Azeez Al-Shaair had a phenomenal game with 8 tackles and an interception deep in Vikings territory. Fred Warner made only three tackles and left early with a hamstring injury which could cost him a few games. Dre Greenlaw also left with the same groin injury he suffered Week 1.


Jimmie Ward and Talanoa Hufanga each gave up a touchdown catch in the red zone.


Josh Norman forced yet another fumble, but the Vikings recovered it. He also committed two penalties and got beat repeatedly by Justin Jefferson and Adam Thielen. It's remarkable the 49ers won the game with Norman playing so poorly. They won in spite of him. He was their worst player.


They gave up a 99-yard kickoff return for a touchdown, and Robbe Gould missed a 42-yard field goal late that would have put the game away. They pay him big bucks to make those kicks.


The defense didn't play all that well -- it gave up 6.2 yards per play, which is a lot. But it forced two fumbles, and it didn't have to be on the field that much because the offense had the ball for more than 37 minutes. The 49ers defense is their offense. They control games with their relentless rushing attack. Give Kyle Shanahan credit for sticking to that approach the past three games. In this one, on the opening drive he called just two runs and four passes, and Garoppolo threw a pick. After that, Shanahan called 37 passes and just 22 runs, and the 49ers won. Had he called games like that the first eight weeks of the season, the 49ers record would be so much better right now. It's too bad it took him two months and five losses to find his identity, but he found it, and now the 49ers are as dangerous as any team in the NFL. What a season this has been.


I blame myself for first two months of the 49ers season. Had I done a better job of quality control, the 49ers would have ran the ball more so much more, particularly against the Arizona Cardinals, and beaten them once or maybe even twice. So I put the 49ers in this hole. Fortunately for them, I came to my senses before the Rams game and implored Kyle Shanahan to commit to the run and get the ball in the hands of his best player -- Deebo Samuel -- by any means possible. I'm grateful that Shanahan listened. Thank you, Kyle. I was nothing before you came to the 49ers. Now, I'm the richest, most successful quality control guy in the world simply because you listen. You have made my career. Hopefully, I've helped yours, too.