Game story
In Week 12 of the 2023 NFL season on 2023-11-23, the San Francisco 49ers took care of business against the Seattle Seahawks, pulling away with a 31–13 final that controlled the game from start to finish.
The highest-scoring period was Q2 with 20 combined points — the stretch that most shaped the final margin.
G. Smith (Seattle Seahawks) paced the passing game, with -11.27 total EPA, and +4.0% completion percentage over expected.
On the individual side, C. McCaffrey (San Francisco 49ers) delivered the top overall EPA impact at +4.84 — the clearest player-of-the-game signal on the analytics sheet.
The momentum swing (+8.0% win probability) landed in the opening quarter when San Francisco 49ers changed the game: (12:41) 23-C.McCaffrey up the middle to SEA 16 for 27 yards (21-D.Witherspoon, 20-J.Love).
Line score
Final score and points by quarter.
| Q1 | Q2 | Q3 | Q4 | — | T | |
|---|---|---|---|---|---|---|
| San Francisco 49ers | 7 | 20 | 0 | 7 | 0 | 31 |
| Seattle Seahawks | 3 | 0 | 10 | 0 | 0 | 13 |
Stars of the game
Top performers by total expected points added (EPA) across passing, rushing, and receiving.
- 1 C. McCaffrey · San Francisco 49ers · Rushing · +4.84 total EPA · 19 snaps · +0.25 EPA/play
- 2 D. Samuel · San Francisco 49ers · Receiving · +4.63 total EPA · 9 snaps · +0.51 EPA/play
- 3 B. Aiyuk · San Francisco 49ers · Receiving · +4.12 total EPA · 4 snaps · +1.03 EPA/play
- 4 J. Smith-Njigba · Seattle Seahawks · Receiving · +3.06 total EPA · 3 snaps · +1.02 EPA/play
- 5 N. Fant · Seattle Seahawks · Receiving · +2.79 total EPA · 2 snaps · +1.39 EPA/play
- 6 W. Dissly · Seattle Seahawks · Receiving · +1.95 total EPA · 1 snaps · +1.95 EPA/play
- 7 B. Purdy · San Francisco 49ers · Passing · +1.86 total EPA · 33 snaps · +0.06 EPA/play
- 8 R. McCloud · San Francisco 49ers · Receiving · +1.83 total EPA · 1 snaps · +1.83 EPA/play
Player of the game
FantasyHQ analytics player-of-the-game pick based on total EPA and signature plays.
C. McCaffrey — SF · Rushing
C. McCaffrey posted the highest total EPA (+4.84) in the game, making the biggest overall impact on San Francisco 49ers's efficiency. Across 19 counted snaps, they averaged +0.25 EPA per play.
The signature play (-5.79 EPA) came from San Francisco 49ers: (11:30) (Shotgun) 13-B.Purdy pass short middle intended for 23-C.McCaffrey INTERCEPTED by 56-J.Brooks at SF 12. 56-J.Brooks for 12 yards, TOUCHDOWN.
Who scored touchdowns and field goals
Every touchdown and field goal with the player named in official play-by-play.
Touchdowns
- San Francisco 49ers — D. Samuel
- San Francisco 49ers — C. McCaffrey
- San Francisco 49ers — C. McCaffrey
- Seattle Seahawks — J. Brooks
- San Francisco 49ers — B. Aiyuk (B. Purdy pass)
Field goals
- Seattle Seahawks — J. Myers
- San Francisco 49ers — J. Moody
- San Francisco 49ers — J. Moody
- Seattle Seahawks — J. Myers
How it unfolded, quarter by quarter
A quarter-by-quarter recap built from live scoring plays and play descriptions.
The opening quarter: San Francisco 49ers won the period 7–3. San Francisco 49ers found the end zone from the SEA 2 (Q1 55:04) — (10:04) (Shotgun) 19-D.Samuel left guard for 2 yards, TOUCHDOWN.; San Francisco 49ers added 1 points from the SEA 15 (Q1 55:01) — 4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky.; Seattle Seahawks connected on a field goal from the SF 32 (Q1 54:11) — (9:11) 5-J.Myers 51 yard field goal is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson..
The second quarter: San Francisco 49ers won the period 20–0. San Francisco 49ers found the end zone from the SEA 1 (Q2 43:15) — (13:15) 23-C.McCaffrey left guard for 1 yard, TOUCHDOWN.; San Francisco 49ers added 1 points from the SEA 15 (Q2 43:11) — 4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky.; San Francisco 49ers found the end zone from the SEA 8 (Q2 35:19) — (5:19) 23-C.McCaffrey left guard for 8 yards, TOUCHDOWN.; San Francisco 49ers added 1 points from the SEA 15 (Q2 35:11) — 4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky.; San Francisco 49ers connected on a field goal from the SEA 14 (Q2 30:43) — (:43) 4-J.Moody 32 yard field goal is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky.; San Francisco 49ers connected on a field goal from the SF 35 (Q2 30:39) — 4-J.Moody kicks 64 yards from SF 35 to SEA 1. 1-D.Eskridge to SEA 24 for 23 yards (45-D.Flannigan-Fowles)..
The third quarter: Seattle Seahawks won the period 10–0. Seattle Seahawks found the end zone from the SEA 96 (Q3 26:30); Seattle Seahawks added 1 points from the SF 15 (Q3 26:23) — 5-J.Myers extra point is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson.; Seattle Seahawks connected on a field goal from the SF 12 (Q3 18:16) — (3:16) 5-J.Myers 30 yard field goal is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson..
The fourth quarter: San Francisco 49ers won the period 7–0. San Francisco 49ers found the end zone from the SEA 28 (Q4 7:59) — (7:59) (Shotgun) 13-B.Purdy pass deep right to 11-B.Aiyuk for 28 yards, TOUCHDOWN.; San Francisco 49ers added 1 points from the SEA 15 (Q4 7:51) — 4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky..
Turning points
Plays that moved win probability the most — the swings that decided the game.
- San Francisco 49ers (Q1 57:41) — (12:41) 23-C.McCaffrey up the middle to SEA 16 for 27 yards (21-D.Witherspoon, 20-J.Love).
- Seattle Seahawks (Q3 24:15) — (9:15) (Shotgun) 7-G.Smith pass deep right to 11-J.Smith-Njigba to SEA 45 for 34 yards (2-D.Lenoir).
- Seattle Seahawks (Q2 42:40) — (12:40) (Shotgun) 7-G.Smith pass short right intended for 16-T.Lockett INTERCEPTED by 20-A.Thomas [99-J.Kinlaw] at SEA 44. 20-A.Thomas to SEA 42 for 2 yards (16-T.Lockett).
- Seattle Seahawks (Q1 55:01) — 4-J.Moody kicks 64 yards from SF 35 to SEA 1. 1-D.Eskridge to SF 33 for 66 yards (28-D.Luter).
- San Francisco 49ers (Q2 32:00) — (2:00) 18-M.Wishnowsky punts 43 yards to SEA 30, Center-46-T.Pepper. 31-D.Dallas MUFFS catch, touched at SEA 30, RECOVERED by SF-10-R.Bell at SEA 22. SF-30-G.Odum was injured during the play.
Impact plays
Highest expected-points added snaps that flipped field position and scoring chances.
- San Francisco 49ers (Q3 26:30) — (11:30) (Shotgun) 13-B.Purdy pass short middle intended for 23-C.McCaffrey INTERCEPTED by 56-J.Brooks at SF 12. 56-J.Brooks for 12 yards, TOUCHDOWN.
- San Francisco 49ers (Q2 32:00) — (2:00) 18-M.Wishnowsky punts 43 yards to SEA 30, Center-46-T.Pepper. 31-D.Dallas MUFFS catch, touched at SEA 30, RECOVERED by SF-10-R.Bell at SEA 22. SF-30-G.Odum was injured during the play.
- Seattle Seahawks (Q2 42:40) — (12:40) (Shotgun) 7-G.Smith pass short right intended for 16-T.Lockett INTERCEPTED by 20-A.Thomas [99-J.Kinlaw] at SEA 44. 20-A.Thomas to SEA 42 for 2 yards (16-T.Lockett).
- Seattle Seahawks (Q4 4:19) — (4:19) (No Huddle, Shotgun) 26-Z.Charbonnet right end to SF 22 for -1 yards (97-N.Bosa, 2-D.Lenoir).
Quarterback report card
G.Smith led all passers in efficiency for Seattle Seahawks, setting the tone in the passing game according to FantasyHQ analytics.
- G.Smith (Seattle Seahawks) · 37 dropbacks · 48.6% completion · +4.0% CPOE · -0.30 EPA/play · -11.27 total EPA
- B.Purdy (San Francisco 49ers) · 33 dropbacks · 63.6% completion · +8.1% CPOE · +0.06 EPA/play · +1.86 total EPA
Team stats comparison
Side-by-side offensive and defensive efficiency from FantasyHQ analytics.
| Stat | San Francisco 49ers | Seattle Seahawks |
|---|---|---|
| Offensive EPA/play | +0.120 | -0.160 |
| Offensive success rate | 47.6% | 45.2% |
| Pass EPA/play | +0.042 | -0.305 |
| Rush EPA/play | +0.226 | -0.206 |
| Defensive EPA/play | +0.160 | -0.120 |
| Defensive success rate | 54.8% | 52.4% |
By the numbers
Despite the final score, San Francisco 49ers generated the better offensive EPA per play (+0.12 vs -0.16), suggesting they moved the ball more efficiently.
- Seattle Seahawks: 11 drives, -11.68 total EPA, 2 scoring drives
- San Francisco 49ers: 12 drives, +10.06 total EPA, 6 scoring drives
Key takeaways
What to remember for fantasy research, film review, and follow-up box score digging.
- San Francisco 49ers leaves with the win and the better postgame narrative for Week-to-week momentum.
- C. McCaffrey (San Francisco 49ers) is the first name to pull up for highlight reels and prop-retrospective research.
- G. Smith (SEA) beat expectation through the air — positive CPOE game for stack builds.
- B. Purdy (SF) beat expectation through the air — positive CPOE game for stack builds.
Every scoring play
Chronological scoring with field position and full play-by-play context.
- San Francisco 49ers TD (+6) — Q1 55:04 · SEA 2 · Score 6-0
(10:04) (Shotgun) 19-D.Samuel left guard for 2 yards, TOUCHDOWN. - San Francisco 49ers XP (+1) — Q1 55:01 · SEA 15 · Score 7-0
4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky. - Seattle Seahawks FG (+3) — Q1 54:11 · SF 32 · Score 7-3
(9:11) 5-J.Myers 51 yard field goal is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson. - San Francisco 49ers TD (+6) — Q2 43:15 · SEA 1 · Score 13-3
(13:15) 23-C.McCaffrey left guard for 1 yard, TOUCHDOWN. - San Francisco 49ers XP (+1) — Q2 43:11 · SEA 15 · Score 14-3
4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky. - San Francisco 49ers TD (+6) — Q2 35:19 · SEA 8 · Score 20-3
(5:19) 23-C.McCaffrey left guard for 8 yards, TOUCHDOWN. - San Francisco 49ers XP (+1) — Q2 35:11 · SEA 15 · Score 21-3
4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky. - San Francisco 49ers FG (+3) — Q2 30:43 · SEA 14 · Score 24-3
(:43) 4-J.Moody 32 yard field goal is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky. - San Francisco 49ers FG (+3) — Q2 30:39 · SF 35 · Score 24-3
4-J.Moody kicks 64 yards from SF 35 to SEA 1. 1-D.Eskridge to SEA 24 for 23 yards (45-D.Flannigan-Fowles). - Seattle Seahawks TD (+6) — Q3 26:30 · SEA 96 · Score 24-9
(11:30) (Shotgun) 13-B.Purdy pass short middle intended for 23-C.McCaffrey INTERCEPTED by 56-J.Brooks at SF 12. 56-J.Brooks for 12 yards, TOUCHDOWN. - Seattle Seahawks XP (+1) — Q3 26:23 · SF 15 · Score 24-10
5-J.Myers extra point is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson. - Seattle Seahawks FG (+3) — Q3 18:16 · SF 12 · Score 24-13
(3:16) 5-J.Myers 30 yard field goal is GOOD, Center-41-C.Stoll, Holder-4-M.Dickson. - San Francisco 49ers TD (+6) — Q4 7:59 · SEA 28 · Score 30-13
(7:59) (Shotgun) 13-B.Purdy pass deep right to 11-B.Aiyuk for 28 yards, TOUCHDOWN. - San Francisco 49ers XP (+1) — Q4 7:51 · SEA 15 · Score 31-13
4-J.Moody extra point is GOOD, Center-46-T.Pepper, Holder-18-M.Wishnowsky.
Frequently asked questions
Who won San Francisco 49ers vs Seattle Seahawks?
The San Francisco 49ers beat the Seattle Seahawks 31-13 in Week 12, 2023 on 2023-11-23.
What was the final score of San Francisco 49ers vs Seattle Seahawks?
The final score was San Francisco 49ers 31, Seattle Seahawks 13 (SF 31-13 SEA) in Week 12, 2023 on 2023-11-23.
What was the score by quarter in San Francisco 49ers vs Seattle Seahawks?
Q1: San Francisco 49ers 7, Seattle Seahawks 3; Q2: San Francisco 49ers 20, Seattle Seahawks 0; Q3: San Francisco 49ers 0, Seattle Seahawks 10; Q4: San Francisco 49ers 7, Seattle Seahawks 0; Final: San Francisco 49ers 31, Seattle Seahawks 13.
Who scored touchdowns and field goals in San Francisco 49ers vs Seattle Seahawks?
San Francisco 49ers touchdown — D. Samuel (Q1 55:04) San Francisco 49ers touchdown — C. McCaffrey (Q2 43:15) San Francisco 49ers touchdown — C. McCaffrey (Q2 35:19) Seattle Seahawks touchdown — J. Brooks (Q3 26:30) San Francisco 49ers touchdown — B. Aiyuk (B. Purdy pass) (Q4 7:59) Seattle Seahawks field goal — J. Myers (Q1 54:11, 3 pts) San Francisco 49ers field goal — J. Moody (Q2 30:43, 3 pts) San Francisco 49ers field goal — J. Moody (Q2 30:39, 3 pts) Seattle Seahawks field goal — J. Myers (Q3 18:16, 3 pts) Extra points followed each touchdown unless noted in the play-by-play.
How did the quarterbacks play in San Francisco 49ers vs Seattle Seahawks?
G. Smith (Seattle Seahawks), 48.6% completion, +4.0% CPOE, -0.30 EPA per dropback, -11.27 total passing EPA. B. Purdy (San Francisco 49ers), 63.6% completion, +8.1% CPOE, +0.06 EPA per dropback, +1.86 total passing EPA.
Who was the most impactful player in San Francisco 49ers vs Seattle Seahawks?
C. McCaffrey (San Francisco 49ers) led the game in total EPA with +4.84 on rushing plays. across 19 snaps. The top single-play swing was (-5.79 EPA): (11:30) (Shotgun) 13-B.Purdy pass short middle intended for 23-C.McCaffrey INTERCEPTED by 56-J.Brooks at SF 12. 56-J.Brooks for 12 yards, TOUCHDOWN.. The biggest win-probability swing was +8.0%.
Season records after this game
San Francisco 49ers
Entered 7-3 Now 8-3 W
Seattle Seahawks
Entered 6-4 Now 6-5 L