SEATTLE – Here is how the 49ers (8-3) graded in Thursday night’s 31-13 win over the host Seattle Seahawks (6-5):
PASS OFFENSE: A-
Brock Purdy didn’t repeat with a perfect passer rating like Sunday’s show against Tampa Bay, but what he did was almost as impressive, if not more. After throwing his first career pick-six and seemingly sparking a Seahawks rally in the third quarter, Purdy aggressively ended this affair with a 28-yard touchdown pass to Brandon Aiyuk who called that throw a “dot,” with 7:51 remaining in regulation for the final score. Purdy (21-of-30, 209 yards) connected with eight different receivers, led by Deebo Samuel’s season-high seven catches (79 yards). Even Charlie Woerner got his first catch in two years, and Jauan Jennings was in true form by battling for a third-and-7 conversion. Purdy got sacked once, so the line fared well with Aaron Banks back from a two-game absence and Jon Feliciano shifting over to replace the injured Spencer Burford. That line and the passing offense in general faces its biggest test of the season next in Philadelphia.
RUN OFFENSE: A
McCaffrey’s second touchdown run was an 8-yard, tackle-breaking masterpiece for a 21-3 lead. “You never know when he’s going to keep going or get out of something,” Purdy said. “For him to do that didn’t really surprise me. I look up to that kind of stuff. He gives us a spark, man, and an energy to the offense when we need it most.” McCaffrey already had scored on a 1-yard run in the second quarter. He’s set a 49ers single-season record with 11 touchdowns, surpassing the 10 of Frank Gore (2009), Derek Loville (1995) and Ricky Watters (1993). His 16 overall TDs are tied for fourth-most in 49ers history and he should challenge Jerry Rice’s 23-TD record. Samuel put the 49ers ahead 7-0 on a 2-yard run, marking their seventh game-opening drive with a touchdown this season. Elijah Mitchell keeps trending in the right direction (39 yards, seven carries). Their 5.1-yard average (33 carries, 169 yards) was their best since the opening two games this season.
PASS DEFENSE: A
Nick Bosa’s two sacks raised his season total to eight, and he added five hits on Seahawks’ wounded quarterback Geno Smith, who didn’t blame his bad outing on Sunday’s elbow injury (and it was a lack of protection against a fierce defensive front that was more his undoing). The 49ers’ totaled a season-high six sacks, and accounting for the others were a combination of Javon Hargrave, Arik Armstead, Kevin Givens and Tashaun Gipson – multiple defenders often were in on those sacks. Ambry Thomas intercepted Smith, but the best coverage — and, really, the defenses most unheralded player — came from Charvarius Ward as he shadowed D.K. Metcalf in a late switch of the game plan. Ward had three pass breakups, raising his season total to a career-high 15, one off the NFL lead. Keeping Metcalf, Tyler Lockett and rookie Jackson Smith-Njigba out of the end zone was a great feat.
RUN DEFENSE: A-
Things got leaky in the third quarter as Smith raced around the edge for some big gains. None of his or the other Seahawks’ runs went longer than 11 yards. The most emphatic run stop came with 4:14 remaining, when Nick Bosa and Deommodore Lenoir stopped Zach Charbonnet for a 1-yard loss on fourth-and-1 from the 49ers’ 21-yard line. No opponent has produced a 100-yard rusher in 38 consecutive games against the 49ers, a franchise record.
SPECIAL TEAMS: C+
Ray-Ray McCloud fumbled a fourth-quarter punt return when a fair catch would have sufficed with an 11-point lead, and he got bailed out with Oren Burks’ recovery. Seattle added to its history of big plays on special teams here when the 49ers yielded a 66-yard return to Dee Eskridge, with Darrell Luter Jr. making a touchdown-saving tackle at the 33-yard line; the 49ers defense then held strong and the Seahawks settled for a field goal to pull within 7-3. Mitch Wishnowsky pinned 3-of-5 punts inside the 20, highlighted by a second-quarter effort in which Sam Womack and Ronnie Bell managed to down at the 1-yard line. Bell also recovered a muffed punt in the second quarter and maybe merits a shot at returning punts. Losing special-teams ace George Odum to a season-ending biceps injury will hurt, but Womack’s return is encouraging.
This marked only the second time in the 49ers’ 23 visits to this stadium where they scored more than 30 points. And for the second time in their past three games this season, the 49ers defense did not allow a touchdown, so kudos to sideline-coaching coordinator Steve Wilks and his unit. Next comes a Dec. 3 visit to the NFC-leading Philadelphia Eagles, and coach Kyle Shanahan has the 49ers entering on a three-game win streak full of the needed confidence and bravado to pull out a win that will be required to land the No. 1 seed.