| 1st | 2nd | 3rd | 4th | Tot | |
| SEA | 7 | 3 | 0 | 3 | 13 |
| SF | 0 | 3 | 0 | 0 | 3 |
No NFL offense was hotter than the San Francisco 49ers coming into their season finale showdown against the Seattle Seahawks at Levi's Stadium on Saturday night, but what looked like an irresistible force before the game came up empty when they ran into an immovable object in the form of the Seahawks defense.
The Seahawks cooled off what had been a red-hot 49ers offense that had propelled a six-game winning streak coming into the night, holding them to 53 yards on the ground and 173 overall in a 13-3 win. The Seahawks, on the other hand, rolled up 361 total yards, 180 of them on the ground, while controlling the ball for over 37 minutes of the game.
Quarterback Sam Darnold finished 20-of-26 for 198 yards for the Seahawks in the win, while quarterback Brock Purdy ended with 127 yards and one interception on 19-of-27 passing in a losing effort.
Seahawks control the first half but lead by only seven at the break
The Seahawks began the game with possession at their own 30-yard line and ate up over half of the first quarter with their opening drive, only to come up empty. They needed eight plays to reach the 49ers' 10-yard line, then found themselves with a 1st-and-Goal at the 1 after a pass interference call on cornerback Deommodore Lenoir, but a first-down sack by linebacker Tatum Bethune pushed the Seahawks back to the 12-yard line. Three plays later, the Seahawks elected to go for a touchdown on a 4th-and-Goal at the 4, but a pass from Darnold to wide receiver Cooper Kupp fell incomplete, giving the 49ers a turnover on downs.
Seahawks turn it over on downs on the opening drive
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/jWTGP0I7SI
The Seahawks found themselves right back in business, however, as the 49ers were held to a three-and-out, then committed a facemask penalty on the punt that gave the Seahawks the ball at the 49ers' 35-yard line. The 49ers couldn't hold the Seahawks off the scoreboard this time, as on the third play of the possession, running back Zach Charbonnet got loose around the left side and dashed 27 yards to the end zone for a 7-0 lead.
Zach Charbonnet with room to run!
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/RA2RIsF3C7
Another three-and-out for the 49ers followed the touchdown, then the 49ers dodged another bullet when the Seahawks drove into scoring range again but once more came up empty. After taking over at their own 18-yard line, the Seahawks drove into 49ers territory on the back of a 20-yard run by running back Kenneth Walker, receptions of 12 and 17 yards by wide receiver Jaxon Smith-Njigba, and an 11-yard run by Charbonnet. But the 49ers stopped the drive there and forced a 47-yard field goal attempt by kicker Jason Myers, which sailed wide right.
The 49ers took over at their own 37-yard line early in the second quarter and moved across midfield on a nine-yard completion to running back Christian McCaffrey. They then faced a 3rd-and-11, which Purdy cut to a 4th-and-1 with a 10-yard run to the 39-yard line. But a passing attempt from Purdy on 4th-and-1 came up empty, giving the Seahawks a turnover on downs.
Seahawks defense forces a turnover on downs on 4th & 1
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/X5fz8guUXJ
The Seahawks were able to turn that opportunity into points, moving 33 yards in nine plays to take a 10-0 lead on a 45-yard field goal by Myers. The 49ers took over at their own 40 after Myers bounced the ensuing kickoff out of bounds, then moved across midfield on a 13-yard completion to wide receiver Jauan Jennings on a 3rd-and-11. A series of short gains then moved the ball to the 30, where the 49ers were stopped on third down and were forced to settle for a field goal from kicker Eddy Pineiro, which was good from 48 yards to cut the lead to 10-3 with just over a minute to play.
The Seahawks took over at their own 35 with no timeouts, which led to much of the remaining time running off the clock after a sack by defensive end Sam Okuayinonu on first down. The next play put an end to a half that was largely controlled by the Seahawks but finished with the 49ers still within striking distance. The Seahawks finished the half with a yardage edge of 196 to 69 while holding the ball for nearly nine more minutes, but the 49ers were set to receive the second half kickoff with a chance to change the momentum.
Missed opportunities doom 49ers in the second half
Things got off to a bad start for the 49ers in the third quarter when Brian Robinson Jr. had trouble fielding the opening kickoff and was stopped at the 12-yard line. The 49ers dug out of that hole with a series of short gains that moved the ball to the 45, but a sack by defensive tackle Jarran Reed on a second down put the 49ers in a 3rd-and-13 at their own 39. The 49ers weren't able to convert and wound up punting back to the Seahawks, who took over at their own 37 after a 20-yard return by Rashid Shaheed. The Seahawks drove across midfield but were stopped on a big third-down play by Lenoir, who tackled Charbonnet for a loss to force a punt.
Huge TFL by Deommodore Lenoir 😤
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/4NZez6jgIf
The 49ers took over at their own 10 and were held to another three-and-out, then the Seahawks found themselves in a hole on the first play of the ensuing possession after a botched handoff put them in a 2nd-and-17 at their own 25. But when an incomplete pass set up a 3rd-and-17, the 49ers gave up a crucial first down when Walker weaved through the defense on a handoff for a 19-yard gain. The Seahawks then moved into 49ers territory and eventually faced a 3rd-and-9 at the 24-yard line, but the 49ers gave up a first down on a pass interference penalty on cornerback Renardo Green. Another third-and-long opportunity soon followed, and the 49ers held firm this time to force a 31-yard field goal from Myers to give the Seahawks a 13-3 early fourth quarter lead.
Razzle dazzle from Kenneth Walker to pick up the first down on 3rd & 17!
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/KdOGDb2gBK
The next drive saw the 49ers offense finally start to resemble the unit that caught fire over the previous six games, but the end result proved to be a backbreaker for their chances. The 49ers moved 64 yards in seven plays that included a 20-yard completion to tight end George Kittle and a 16-yard catch by Jennings, but the drive came to a screeching halt inside the five when a pass from Purdy bounced off the hands of McCaffrey and was intercepted by linebacker Drake Thomas, giving the Seahawks the ball at their own 3-yard line with just over ten minutes to play.
Red zone takeaway by Drake Thomas and the Seahawks!
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/eEOrqbxdpn
The Seahawks flexed their muscle on the next possession, sealing the game with a 15-play, 89-yard drive that took eight minutes off the clock. The drive ended in another missed field goal for Myers -- this one from just 26 yards out when the kick hit the right upright -- but the drive left the 49ers with just 2:20 remaining and no timeouts.
It didn't matter in the end, as the Seahawks forced an emphatic turnover on downs on four plays on the next possession to put the 49ers' chances to an end. Purdy injured his thumb to the point of bleeding during the possession, then lay on the ground for a time after taking a hit on fourth down by linebacker Derick Hall.
Seahawks defense stands strong to ice it ❄?
SEAvsSF on ESPN/ABC
— NFL (@NFL) January 4, 2026
Stream on @NFLPlus and ESPN App pic.twitter.com/Z8y6AR4SPW
The Seahawks ran out the clock to clinch the NFC West and the number one overall seed in the NFC. The Seahawks moved to 14-3 on the season with the win, while the 49ers fell to 12-5 with the loss.
Game Notes
Saturday's game was the 56th in the 49ers-Seahawks series. The Seahawks now have a 32-24 all-time edge with the win. The 49ers beat the Seahawks 17-13 at Lumen Field in Seattle in Week 1 to give them seven wins in their last eight opportunities coming into the game... The Seahawks were 2.5-point favorites coming into the game... Left tackle Trent Williams (hamstring) and wide receiver Ricky Pearsall (knee/ankle) were among the inactive players for the 49ers... The 49ers will now enter the postseason as the fifth or sixth seed, depending on the result of the Rams-Cardinals game on Sunday. A Rams win would give the 49ers the number six seed.
Scoring Summary
- Q1 04:37 — SEA 7, SF 0
Z. Charbonnet 27 yd. run (J. Myers kick) (3 plays, 35 yds, 1:23) - Q2 05:23 — SEA 10, SF 0
J. Myers 45 yd. Field Goal (9 plays, 33 yds, 4:16) - Q2 01:10 — SEA 10, SF 3
E. Pineiro 48 yd. Field Goal (9 plays, 30 yds, 4:13) - Q4 14:18 — SEA 13, SF 3
J. Myers 31 yd. Field Goal (11 plays, 55 yds, 5:16)
Game and Player Stats
| SEA | Team Stats | SF |
| 181 | Passing Yards | 120 |
| 180 | Rushing Yards | 53 |
| 361 | Total Yards | 173 |
| 7.62 | Avg Yards per Pass | 4.7 |
| 4.62 | Avg Yards per Run | 4.42 |
| 0 | Fumbles Lost | 0 |
| 0 | Int Thrown | 1 |
| 2 | Sacks Allowed | 3 |
| 00:37:48 | Time of Pos | 00:22:12 |
| 5 | Penalties | 3 |
| Seahawks Player Stats | ||||
| Passing | Cmp/Att | Yds | TDs | INTs |
| Sam Darnold | 20/26 | 198 | 0 | 0 |
| Rushing | Att | Yds | Avg | TDs |
| Kenneth Walker | 16 | 97 | 6.1 | 0 |
| Zach Charbonnet | 17 | 74 | 4.4 | 1 |
| Sam Darnold | 6 | 9 | 1.5 | 0 |
| Receiving | Rec | Tgt | Yds | TDs |
| Jaxon Smith-Njigba | 6 | 8 | 84 | 0 |
| Kenneth Walker | 4 | 4 | 36 | 0 |
| Cooper Kupp | 2 | 3 | 29 | 0 |
| Zach Charbonnet | 3 | 4 | 23 | 0 |
| AJ Barner | 2 | 3 | 14 | 0 |
| Eric Saubert | 2 | 3 | 10 | 0 |
| Rashid Shaheed | 1 | 1 | 2 | 0 |
| Fumbles | Fum | Lost | ||
| Sam Darnold | 1 | 0 | 0 | 0 |
| Kicking | FG | Att | Lg | XP |
| Jason Myers | 2 | 4 | 45 | 1 |
| Punting | No | Avg | I20 | Lg |
| Michael Dickson | 1 | 36 | 1 | 36 |
| Punt Returns | Att | Avg | TDs | Lg |
| Rashid Shaheed | 2 | 15 | 0 | 19 |
| Defense | T-A | Sck | INTs | FF |
| Nick Emmanwori | 7-3 | 0 | 0 | 0 |
| Ernest Jones | 5-3 | 0 | 0 | 0 |
| Drake Thomas | 5-3 | 0 | 1 | 0 |
| Byron Murphy | 4-3 | 0 | 0 | 0 |
| Devon Witherspoon | 4-1 | 0 | 0 | 0 |
| Boye Mafe | 3-1 | 0 | 0 | 0 |
| Ty Okada | 3-0 | 0 | 0 | 0 |
| Brandon Pili | 2-2 | 0 | 0 | 0 |
| Riq Woolen | 2-1 | 0 | 0 | 0 |
| Josh Jobe | 2-0 | 0 | 0 | 0 |
| Jarran Reed | 2-0 | 1 | 0 | 0 |
| DeMarcus Lawrence | 1-1 | 0 | 0 | 0 |
| Uchenna Nwosu | 1-0 | 1 | 0 | 0 |
| Derick Hall | 1-0 | 1 | 0 | 0 |
| 49ers Player Stats | ||||
| Passing | Cmp/Att | Yds | TDs | INTs |
| Brock Purdy | 19/27 | 127 | 0 | 1 |
| Rushing | Att | Yds | Avg | TDs |
| Christian McCaffrey | 8 | 23 | 2.9 | 0 |
| Brock Purdy | 2 | 21 | 10.5 | 0 |
| Brian Robinson | 2 | 9 | 4.5 | 0 |
| Receiving | Rec | Tgt | Yds | TDs |
| Jauan Jennings | 4 | 6 | 35 | 0 |
| Christian McCaffrey | 6 | 7 | 34 | 0 |
| George Kittle | 5 | 7 | 29 | 0 |
| Demarcus Robinson | 3 | 4 | 24 | 0 |
| Kyle Juszczyk | 1 | 2 | 5 | 0 |
| Kendrick Bourne | 0 | 1 | 0 | 0 |
| Kicking | FG | Att | Lg | XP |
| Eddy Pineiro | 1 | 1 | 48 | 0 |
| Punting | No | Avg | I20 | Lg |
| Thomas Morstead | 4 | 37.8 | 1 | 50 |
| Defense | T-A | Sck | INTs | FF |
| Ji'Ayir Brown | 8-3 | 0 | 0 | 0 |
| Renardo Green | 8-2 | 0 | 0 | 0 |
| Tatum Bethune | 7-5 | 1 | 0 | 0 |
| Upton Stout | 6-2 | 0 | 0 | 0 |
| Malik Mustapha | 5-2 | 0 | 0 | 0 |
| Jason Pinnock | 4-2 | 0 | 0 | 0 |
| Eric Kendricks | 4-1 | 0 | 0 | 0 |
| Sam Okuayinonu | 4-0 | 1 | 0 | 0 |
| CJ West | 3-2 | 0 | 0 | 0 |
| Alfred Collins | 3-2 | 0 | 0 | 0 |
| Clelin Ferrell | 3-1 | 0 | 0 | 0 |
| Yetur Gross-Matos | 3-1 | 0 | 0 | 0 |
| Deommodore Lenoir | 3-0 | 0 | 0 | 0 |
| Jordan Elliott | 2-1 | 0 | 0 | 0 |
| Garret Wallow | 2-1 | 0 | 0 | 0 |
| Dee Winters | 2-1 | 0 | 0 | 0 |
| Keion White | 1-0 | 0 | 0 | 0 |