Recap: McCaffrey, NFC West-leading 49ers beat Seahawks 31-13

Nov 23, 2023, 9:03 PM | Updated: 10:02 pm

Seattle Seahawks 49ers...

Christian McCaffrey and his 49ers teammates eat turkey after beating the Seattle Seahawks. (Steph Chambers/Getty Images)

(Steph Chambers/Getty Images)

SEATTLE (AP) — Christian McCaffrey rushed for 114 yards and two touchdowns in the first half, and the San Francisco 49ers built a 21-point lead by halftime, rolling to a 31-13 win over the Seattle Seahawks on Thursday night.

San Francisco 49ers 31, Seattle Seahawks 13: Instant Reaction | What They Said | Stats

The 49ers (8-3) won their fourth straight against their division rivals and have a two-game lead over Seattle in the NFC West. San Francisco won its third straight following a three-game losing streak and picked up its 10th straight win against an NFC West opponent.

McCaffrey was terrific, running through arm tackles and breaking off a handful of big plays. McCaffrey rushed for touchdowns of 8 and 1 yards as the 49ers built a 24-3 halftime advantage.

Deebo Samuel also ran for a 2-yard touchdown on San Francisco’s opening possession and Brock Purdy was nearly flawless in the first half, completing 15 of 20 passes.

Purdy threw an interception that was returned for a touchdown early in the third quarter, but avoided any other miscues and put a capper on the victory with a 28-yard scoring pass to Brandon Aiyuk with 7:51 left that sent some Seahawks fans headed for the exits.

Purdy finished 21 of 30 for 209 yards, and while he wasn’t perfect like last week against Tampa Bay, he outplayed the quarterback on the other side.

Seattle’s Geno Smith was playing banged up after leaving last Sunday’s loss to the Los Angeles Rams in the second half with an injury in his right arm, near his elbow. He’ll have more bumps and bruises after the 49ers finished with him.

Smith was 18 of 27 for 180 yards. He was sacked six times, threw an interception in the first half and nearly had a few more throws picked off. The Seahawks’ first five possessions gained 15 total yards, and when Seattle tried to rally in the second half, Smith took a couple of untimely sacks.

Smith also ran to argue with an official after there was no flag for defensive holding or pass interference on a throw intended for Jaxon Smith-Njigba in the end zone that would have given Seattle first-and-goal late in the third quarter. Seattle settled for a field goal and never threatened again.

Seattle’s last chance at a rally ended when Zach Charbonnet was stopped on fourth-and-1 at the San Francisco 21 with 4:14 remaining. The Seahawks (6-5) lost for the second time in five days and have dropped three of the last four.

Though linebacker Jordyn Brooks scored after picking off Purdy, Seattle has scored just three offensive touchdowns in the past four games and has just one in its last eight quarters.


San Francisco’s six sacks were spread around. Nick Bosa had two sacks to give him 7 1/2 for the season. Javon Hargrave had 1 1/2 sacks, while Tashaun Gipson and Arik Armstead each had one. Kevin Givens was also credited with a half-sack. The 49ers have 15 sacks in the past three games.


Seattle appeared to bench starting cornerback Riq Woolen in the first half, replacing him with Michael Jackson. Woolen was not announced as having an injury and remained in on special teams. Woolen missed on a couple of tackles early in the game


Seattle right tackle Jason Peters left late in the first half with a shoulder stinger and was replaced by Stone Forsythe. Peters did not return.

San Francisco backup safety George Odum suffered a biceps injury and did not return.


49ers: At Philadelphia on Sunday, Dec. 3.

Seahawks: At Dallas next Thursday.

More on the Seattle Seahawks

Watch: Seahawks rookie JSN’s 1-hand grab draws comparisons to OBJ
Huard: Seahawks need rookie Derick Hall to step up in pass rush
Digging into Seattle Seahawks’ ‘maddening’ penalty issue

Seattle Seahawks

Seattle Seahawks Derick Hall...

Brandon Gustafson

Huard: New Seahawks staff must get ‘a whole lot more’ from Derick Hall

After a lackluster rookie season, edge rusher Derick Hall has to be a priority for the new Seattle Seahawks coaching staff, Brock Huard says.

1 day ago

Seattle Seahawks John Schneider NFL combine...

Brandon Gustafson

Seahawks’ Schneider explains how he views combine’s ‘workout warriors’

The combine always has players that shine in their workouts. Seattle Seahawks GM John Schneider explains how he evaluates those performances.

1 day ago

Seattle Seahawks free agency Patrick Queen...

Stacy Rost

Rost: Could Seattle Seahawks sign All-Pro linebacker Patrick Queen?

The Seattle Seahawks have a problem at linebacker, but also an opportunity to bring in a big name in free agency in Patrick Queen.

1 day ago

Seattle Seahawks...

Brandon Gustafson

Schneider: Why Seahawks met with top NFL Draft QBs at combine

The Seattle Seahawks met with some of the top NFL Draft quarterbacks at the combine. John Schneider breaks down why that's the case.

2 days ago

Seattle Seahawks draft...

Brent Stecker

When do NFL Draft trade talks start? Seahawks GM explains

Seattle Seahawks GM John Schneider detailed how the timing of when NFL Draft trade talks can depend based on where a team picks.

2 days ago

Seattle Seahawks Geno Smith...

Brandon Gustafson

Bumpus: Numbers that show why Seahawks ‘can count on’ Geno

Michael Bumpus wants Geno Smith to be the Seattle Seahawks' quarterback next year, in large part because of his stats in late, close games.

2 days ago

Recap: McCaffrey, NFC West-leading 49ers beat Seahawks 31-13