SAN FRANCISCO -- Running back Frank Gore rushed for 110 yards, and Phil Dawson kicked his fourth field goal of the day with 26 seconds remaining, lifting the San Francisco 49ers to a 19-17 victory over the Seattle Seahawks on Sunday.
The 49ers (9-4) snapped their two-game losing streak to the Seahawks (11-2) and prevented them from clinching the NFC West at Candlestick Park.
The 49ers marched 76 yards in 11 plays for Dawson's 22-yard game-winner. Gore had the key play on the drive, a 51-yard run to Seattle's 18. On first-and-10 from the 49ers' 31, Gore bolted off left tackle, cut back against the grain and kept running.
Quarterback Colin Kaepernick swept left end for 8 yards on third-and-7 from the 15, giving the 49ers first-and-goal from the 7 with 2:39 left to play. Four plays later, Dawson connected.
Seattle running back Marshawn Lynch carried 20 times for 72 yards, giving him 1,042 yards for the season. This marks Lynch's third straight 1,000-yard rushing season and the fifth of his career.
Kaepernick completed 15 of 29 passes for 175 yards and one touchdown with one interception, and 49ers wide receiver Anquan Boldin caught six passes for 93 yards.
Seahawks quarterback Russell Wilson completed 15 of 25 passes for 199 yards and one TD with one interceptions.
As expected the game turned into a physical struggle featuring two NFL defensive heavyweights.
After building a 16-14 halftime lead, the 49ers marched deep into Seahawks' territory late in the third quarter and appeared ready to extend their advantage. But on first-and-10 from the 20, Kaepernick underthrew wide receiver Michael Crabtree on a fade route along the left sideline, and Seahawks cornerback Byron Maxwell intercepted at the 1 then returned 2 yards to the 3.
The Seahawks took a 17-16 lead on Steven Hauschka's 31-yard field goal with 6:20 left to play. Seattle wide receiver Golden Tate set up Hauschka's field goal with a 38-yard punt return to 49ers' 27. The Seahawks stalled at the 13, and Hauschka gave them a one-point lead.
But the 49ers responded with their game-winning drive.
The 49ers built a two-point halftime lead, using Dawson field goals from 23, 48, 52 yards and Kaepernick's 8-yard touchdown pass to tight end Vernon Davis with six seconds remaining.
The Seahawks scored on Lynch's 11-yard touchdown run and Wilson's 39-yard TD pass to rookie tight end Luke Willson, both in the second quarter.
San Francisco struck first, driving to the Seahawks' 5 but settling for Dawson's 23-yarder with 5:04 left in the opening quarter. On third-and-1 from the 5, fullback Bruce Miller hit the middle, but Seahawks defensive tackle Brandon Mebane and defensive end Red Bryant stuffed him for no gain.
Dawson hit from 48 with 58 seconds left in the quarter after the 49ers stalled at Seattle's 30.
Lynch gave Seattle a 7-6 lead with 12:17 left in the half with his 11-yard scoring run, capping an eight-play, 80-yard drive. Wilson hit Willson for 29 yards -- the rookie tight end beat 49ers linebacker Patrick Willis on a crossing route -- early in the drive. Then he completed a 24-yard pass to Tate to the 49ers' 17. Two plays later, Lynch cut back against the grain for an 11 yard TD run.
Dawson put the 49ers ahead 9-7 with a 52-yard field goal with 7:56 left in the first half, but Seattle answered quickly with Wilson's 39-yard TD pass to Willson. As he did earlier in the game, Willson beat Willis on a crossing route, and Wilson found him.
NOTES: Starting LG Mike Iupati (knee) missed his third straight game for the 49ers. Adam Snyder started in his place. ... James Carpenter started at left guard for Seattle, replacing Paul McQuistan. Carpenter, a third-year pro out of Alabama, made his 25th career start and ninth of the season. ... WR Percy Harvin (hip) and CB Brandon Browner (groin) were among the inactives for Seattle. ... CB Tarell Brown (ribs) was inactive for the third straight game. ... Seahawks LB K.J. Wright left the game in the second quarter with a foot injury. ... Niners nickel CB Eric Wright was injured late in the third quarter, taking a knee to the head, and left the game, but he returned and intercepted QB Russell Wilson's final pass. ... Seahawks C Max Unger left the game with a chest injury in the third quarter and did not return.