The San Francisco 49ers dominated the Miami Dolphins in a 33-17 victory, but it came with unfortunate news as starting quarterback Jimmy Garoppolo injured his foot and is expected to miss at least 7-8 weeks, per ESPN's Adam Schefter.

However, after Garoppolo's injury on the first drive for the 49ers, rookie Brock Purdy weathered the storm as head coach Kyle Shanahan adjusted the offense, which led to the gutsy double-digit win over a playoff contender.

Here are the offensive grades for today's performance.



Quarterback: B


Jimmy Garoppolo had a strong opening drive for the most part, going through his progressions and making accurate throws.

After an early Brandon Aiyuk drop on 2nd & 7, Garoppolo hit the third-year receiver on the ensuing play while on the run for a 1st down, before perfectly executing a deep pass to Christian McCaffrey on a wheel route after looking safety Jevon Holland off with his eyes.


However, with a 49ers touchdown opportunity, the veteran starter made the same mistake as last week, failing to identify the pre-snap coverage, which would've led to an open Brandon Aiyuk completion on a corner route rather than an incomplete pass to a double-covered George Kittle.

Brock Purdy's performance exhibited flashes of his football IQ and pocket mobility, but also the lack of significant arm strength, rookie mistakes, and errant throws.

Purdy was willing to hit his checkdown on a consistent basis, working through his progressions, although sometimes he opted for the shorter completion rather than attempting a throw to an open reciever in the intermediate range, skipping through the progression a little too quickly.

Kyle Shanahan did a great job simplifying the gameplan for Purdy, creating easier decisions for his rookie quarterback who hadn't seen extensive action before.

As a result, Purdy led several scoring drives for the 49ers, including a final field goal drive that essentially sealed the deal for the 49ers.

Purdy had several impressive plays, including a dart to George Kittle on a hot read against a zero blitz, hitting the TE for a 19 yard gain on 3rd & long.

The rookie QB evaded pressure on several instances, leading to throwaways or extended plays, which is a departure from what Garoppolo brings at the position.


But, Purdy did have multiple plays where he tried to over-create, putting his offensive line in a bad position and resulting in negative plays.

Purdy will need to clean up some accuracy issues and overcome the rookie mistakes, but that should come with more reps alongside the first-team offense.

Overall, it was a gutsy performance from the rookie, and the position group grade was elevated with the circumstances involved.

Running Backs: B+


When looking at Christian McCaffrey's statistics (17 carries for 66 yards), it may not have seemed like a good performance, but the numbers don't tell the full story in this case.

McCaffrey had several key three and four-yard runs that set up easier second and third-down situations against an aggressive Miami Dolphins front, which were vital in extending drives.

However, McCaffrey had several plays that were broken up due to whiffs along the offensive line, resulting in some smaller gains when four or five extra yards should've been there.

McCaffrey did have one poor read on a carry, noticing a cutback lane, but hesitating to take it which led to to a tackle for loss.


However, his rushing performance was not nearly as poor as the statistics indicate, although the 49ers could consider giving some of those carries between the tackles to rookie Jordan Mason, who works better after contact.

Additionally, McCaffrey had a huge receiving game, catching eight passes for 80 yards and a touchdown on ten targets, which were all team highs.

Speaking of Mason, the undrafted free agent impressed yet again with 8 carries for 54 yards and some strong runs through contact.

Mason had nice first-down carries, displaying not only his power and toughness, but also his vision that opened up big-play opportunities.

Mason was the beneficiary of a big hole created by Trent Williams, resulting in a 12-yard gain on one of his first carries of the game.

If he can continue his recent string of performances, Mason should be a good complement to McCaffrey in the running game for the remainder of the regular season, perhaps even earning more carries.

Wide Receivers: B-


Deebo Samuel had six catches on ten targets for 58 yards, but had an up-and-down day.


Samuel had two "wow" plays, somehow escaping through four defenders on a failed end-around to salvage the broken play, and breaking tackles and juking defenders on a well-defended screen play to get several yards.

However, Samuel did drop a short pass and failed to get separation on two other targets, including a potential touchdown opportunity where he was 1-on-1 against a defender on a corner post.

Samuel's separation and drop issues have been problems all year, but his ability after the catch and in space have been significant positives for the 49ers offense.

Brandon Aiyuk had five catches on nine targets for 46 yards and was consistently open on the day, making the job easier for his quarterbacks.

Aiyuk could've had several more opportunities, but wasn't targeted when he was open on some plays, and also was missed by Brock Purdy on a corner-route, as the pass sailed.

Still, the third-year receiver had several quick-hit passes that prolonged drives throughout the game.

Jauan Jennings had two catches on four targets for 34 yards, making up for not fully running his route on one incompletion with a strong catch on the following play, while also seeing another reception over the middle from Brock Purdy.


Tight Ends: C+


George Kittle saw tight coverage for the majority of the game, as the Dolphins wanted to eliminate the safety option over the middle for Brock Purdy.

As a result, he only caught two passes on three targets for 22 yards.

Overall, there wasn't too much action from the tight ends in this game, given the attention Kittle received in the passing game.

However, Kittle did spring himself open on a play over the middle that Brock Purdy failed to identify, scrambling out of the pocket on what could have been a potential redzone opportunity.

Additionally, Tyler Kroft had a potential big-play opportunity on a well-called play-action where he was wide open, but Purdy got the ball out to the shorter option to convert the first down.

Offensive Line: C+


The 49ers' offensive line was shaky in run-blocking, as each offensive lineman had at least one whiff in the running game, making it difficult to create explosive plays.

Daniel Brunskill, who started due to a knee injury for Spencer Burford, was fairly solid in pass protection, but whiffed on three running plays, killing well-schemed opportunities on the ground.


Aaron Banks had an up-and-down performance as he struggled to anchor at times for the second straight week, while missing a few run-blocks alongside Trent Williams as well.

San Francisco's left tackle wasn't perfect either, struggling to pick up a well-executed stunt, while getting pushed back on another run play.

However, as always, Williams created several big plays on the ground by sealing his side, which opened up a struggling running game.

The 49ers' offensive line did well in pass protection for the most part, forcing the Dolphins to dial up six and seven-man blitzes that left them vulnerable on the backend. However, their run-blocking needs to improve next week to maintain a strong balanced approach offensively.

Written By:
Rohan Chakravarthi
Writer/Reporter for 49ers Webzone
All articles by Rohan Chakravarthi
@RohanChakrav
YouTube Channel



More San Francisco 49ers News