The San Francisco 49ers took an early lead over the Seattle Seahawks, then the teams traded the lead for the next three and a half quarters before the Seahawks failed to score on the final drive. It was the best defensive shootout we’ll see this season.
Here are the grades from the 49ers’ Week 5 win.
Quarterback: B-
Brock Purdy airmailed a few throws. He had some flat-out misfires. And then there’s the interception. Ironically, Seattle pressure saved Purdy from throwing into double coverage on one play. He also had a couple
of dropbacks where he was sped up and missed a wideout because he thought he was under duress. Purdy was this close to throwing another interception after staring down a target that the linebacker dropped.
But there was a drop on the first drive where there was a chunk play. Purdy escaped a sack and used his legs to extend the drive. He was constantly moving and manipulating space in the pocket. He showed a ton of guts hanging in there when he knew a big hit was coming. I thought Purdy exhibited the kind of toughness you need to beat a defense like Seattle’s.
Running backs: B+
Christian McCaffrey didn’t have a carry on third or fourth down in this game. He only touched the ball 32% of the time on early downs. It was almost as if CMC was a decoy for four quarters. It makes you wonder if the coaching staff came into this game thinking they’d struggle to run the ball. McCaffrey had 68 rush yards on 11 attempts, with 32 after contact — 17 of those through the A-gap. McCaffrey caught all three of his targets for 15 yards.
Kaelon Black had six carries for 16 yards. Fifteen of those came after contact, but he was stuffed three times, compared to zero by McCaffrey.
McCaffrey earned this grade by forcing a pair of missed tackles and maintaining an 81% success rate. It didn’t feel like one of those “less is more” performances. I think that’ll show the next time these teams play, with McCaffrey getting 20 touches.
Offensive line: B-
A big reason for McCaffrey’s success was his 3.27 yards-per-carry average before contact. The line made it clear from the first play that they’d compete differently than they did against the Seahawks last year.
Let’s get the bad out of the way: Connor Colby in pass protection. He had five blown blocks. Four of those were in pass pro. He also had a false start. A player who could’ve been drafted in the top 5 (Byron Murphy) against a seventh-rounder looked how you’d envision it.
Dominick Puni and Colton McKivitz were beaten twice in pass protection. Jake Brendel and Trent Williams had clean sheets.
Williams was excellent. On one of McCaffrey’s double-digit carries, he flat-lined a defensive back. The holding penalty on him doesn’t count, in my eyes. Williams did nothing wrong.
Puni’s hold on the screen had zero impact on the play. Dom also didn’t need to do that, as the ball carrier was past him.
McKivitz showed impressive awareness on one play, peeling off his block to pick up a blitzer. On the same play, Seattle’s defender had his hands all in Trent’s facemask (no call).
The line as a whole has been quite good on the ground this year. As the game goes on, they seem to get better. Late in the game, Colby blocked two players to spring McCaffrey. Colby was so good against the run that, to me, it offset the pass-protection losses.
Pass catchers: B-
It may not have been the best game statistically, but it was the best game from an impact perspective for Mike Evans. He was flawless, which might make you scratch your head when you see the grade.
Evans generated 12.21 in total EPA. That was more than 27 quarterbacks in Week 5. Everything about him was poetry in motion. You can be as physical as you want with Evans, but the way he shrugs off contact is unlike any wideout we’ve seen under Kyle Shanahan.
Let’s talk about that intentional grounding play. On the left side, Luke Farrell is the in-line tight end; Brayden Willis is lined up next to him, but off the line of scrimmage. The wide receiver split out left is Jordan Watkins, who motions that he’s off the line, but lines up on the line of scrimmage. That covers Farrell up, making him ineligible.
And those are the types of plays that are why we see Watkins only run nine routes. On one of those routes, Watkins was bullied and couldn’t shake free from press.
Cooks made himself available on the touchdown, but was called for a penalty, had another declined, and looks disinterested as a blocker.
There is a weird amount of hate for Jacob Cowing that I do not understand. The coaching staff is starting to figure out how and where to use Cowing.
Against Seattle, Cowing ran 41% of his routes in the slot and leaned more on underneath routes where he could find soft spots in the zone. He will still run clear out routes, but in my opinion, Cowing could be Purdy’s best friend. Without Deebo, I see Jacob taking over that role. He looked the most comfortable, which is saying something, considering the competition.
Brayden Willis found out what big-boy football is like on one play against Leonard Williams. He only played 11 snaps for a reason. Luke Farrell continues to impress and hold his own. Most of George Kittle’s work came underneath and as a blocker. However, he had one route where he almost made Nick Emmanwori fall. Kittle is still Kittle.
Defensive line: A+
The Seahawks finished with the lowest EPA per play of any offense in Week 5. They were 28th in success rate. The scoreboard is a blatant lie. The defensive line finally turned pressure into sacks. There was no shortage of pressure in this game.
Since 2022, Week 5 was the Niners’ 8th-highest pressure rate in a game. The list is full of 2022 and 2023 games. But against the Seahawks, San Francisco managed a 48.6 pressure rate. They had nine quick pressures.
I called Keion White a supercharged version of Charles Omenihu. He was a maniac. Six pressures, two tackles for loss, two run stops, and a sack. Per Sumer Sports, he had the most impact plays of any edge rusher in Week 5. It felt that way. Even on the plays he didn’t finish, White still impacted the play.
Any time a defensive lineman reads a screen, it’s a sign their IQ is through the roof. Guess what Mykel Williams did? Keion owes Mykel a steak dinner for the sack, since Williams forced Sam Darnold to move off his spot.
Khalid Kareem, Ogbo Okoronkwo, and Romello Height each had two pressures. Kareem has been everything the 49ers could have hoped for as a run defender.
The same is true for Sebastian Valdez. Valdez stood out on four plays. I was intrigued by Raheem Morris starting the third quarter with Valdez and Gracen Halton at defensive tackle. It’s a sign he’s going to play his best players.
That’s no slight to Osa Odighizuwa. He was brought in to disrupt the quarterback. He’s done that. Osa had three pressures and a sack. Odighizuwa got a clean win on a screen pass, highlighting his pass-rushing ability. He’s an ideal fit for Morris’s scheme, given how much ground he covers on stunts.
But when you generate a turnover and score off it, you’re not coming off the field. I had Halton down for five impact plays. He made the Seahawks first-rounder from a year ago look like a Day 3 pick. Halton’s sack came against Charles Cross, the left tackle who just received a $100 million extension.
This kid is special.
As a collective unit, the defensive line hasn’t looked like this in years. Keep in mind it was Mykel’s first game back, and they weren’t benefiting from Nick Bosa getting double-teamed.
Linebackers: B+
Things could’ve easily gone south after Dre Greenlaw was ejected. It looked like they would when Luke Gifford got blown off the ball on his first snap.
We’ll see if Greenlaw wins his suspension appeal. If not, with Garret Wallow injured, it’ll fall to rookie Jaden Dugger.
Dugger was a difference-maker. He got caught peeking on a play-action pass and allowed a first down. Honestly, that may have been his lone mistake. His discipline was incredible. He stayed in windows where Darnold wanted to throw to JSN, instead of taking the bait on a shorter throw. Those are the plays that don’t go in the stat sheet.
Dugger was in the stat sheet plenty. He ran through the right tackle’s block to stop a screen that could’ve resulted in a first down. Dugger set the edge, made multiple stops, and played with starter-level physicality.
Warner’s forced fumble came on a play where he sprinted right past his blocker like he wasn’t there. It’s mesmerizing watching him play. I didn’t put him on the Winners list because you could do that every week. He did miss a couple of tackles on JSN and failed to get depth on another one of Smith-Njigba’s targets, which is why this isn’t an A grade, but the 49ers will be more than fine with a Warner-Dugger combo.
Cornerbacks: C+
Renardo Green’s two interceptions help this grade. Pressure helped hide what was otherwise an average day in coverage for the cornerbacks. Green would’ve given up a couple of other plays if the defensive line hadn’t been living in the backfield.
Most of Upton Stout’s damage comes in the running game. He remains inconsistent in coverage.
For the first time, it looked like Deommodore Lenoir lacked confidence in coverage. On the final touchdown to JSN, it was man-to-man on 3rd and 3, and Lenoir was playing like 10 yards off the ball. Why? He never came close to Smith-Njigba on the play, and Smith-Njigba went untouched into the end zone.
Lenoir didn’t get a hand on Smith-Njigba on an explosive play at the end of the third quarter. On the same drive, he was fortunate Darnold looked the other way after JSN cooked him to the bottom of the screen. He was also beaten on a comeback in the fourth quarter.
Throw in Jack Jones getting burnt at the end, but bailed out by a drop, and that’s why this group didn’t play well, even with the interceptions.
Safeties: A+
I feel the opposite about the safeties. The safeties’ rotation essentially put the game in Malik Mustapha’s hands and limited Ji’Ayir Brown, who had a key third-down stop late in the game. But this grade is all Malik.
He was an eraser. It’s easy to turn a blind eye to missed tackles when you are detonating the opposition on contact. I’d argue it was the best game by a 49ers safety — top 3 at worst — this decade.
Mustapha got tremendous jumps and reads, covering all kinds of ground throughout the game. You can’t help but cringe when Mustapha makes one of his patented sprint tackles. Each time he hit one of Seattle’s wide receivers, they were slow to get up.
This was the player we saw as a rookie. Confident, reckless, and striking fear into the opponent. That’s what the Niners need if they are going to play the kind of coverages they do. Not to mention, he had the game-saving tackle.
Kyle Shanahan said, “I thought he played unbelievable,” when asked about Mustapha on Monday. Strongly agree, Kyle.
Special teams: B+
A missed kick shouldn’t be the end of the world, much like an interception. These are things you should be able to overcome if you are a contender.
Eddy Pineiro’s miss was offset by Corliss Waitman’s 51-yarder and all five of his punts landing inside the five, not to mention the one right before the half that landed on the 1. Not one of his five punts was returned. Waitman has been great. Deebo had a 30+ yard return before he left the game. Jordan James added a 39-yarder. All things considered, the special teams did their jobs.
Coaching: A
Shanahan probably could’ve adjusted his game plan and run the ball more. But it’s tough to fault a coach for putting the ball in his quarterback’s hands. Overall, the passing game featured some pretty cool designs to isolate Evans and Kittle downfield. He attacked Seattle schematically in ways we haven’t seen before, and there were more answers than ever.
What complaints are there about Morris?
They held Seattle’s running backs to less than three yards per carry. JSN got his, but mostly because of busted coverages. Darnold was running for his life half the time. And once again, missed tackles aren’t on the coach. We’re still in the honeymoon phase with Morris, but he hasn’t given us a reason to stop swooning.
A defense this banged up is still fourth in total EPA allowed and eighth in success rate. They are doing it without Bosa, which was the primary excuse a season ago.













