49ers 31, Seahawks 24

Garrison Hearst rushed for 124 yards and a career-high three touchdowns, and Jimmy Williams returned a punt 89 yards for a score today as the San Francisco 49ers snapped their first two-game losing streak in two years with a 31-24 win over the Seattle Seahawks.

The 49ers (8-4) fought off a comeback led by Matt Hasselbeck to take a three-game lead in the NFC West and sweep the season series. It was the division rivals' first meeting since Terrell Owens' infamous pen-in-the-sock stunt seven weeks ago in San Francisco's 28-21 win at Seattle.

The 49ers took a 31-10 lead on Hearst's third score early in the fourth quarter, but San Francisco again had trouble closing out an opponent.

Hasselbeck compiled 311 of his 427 passing yards in the second half, and he rallied the Seahawks to two scores, including a three-yard touchdown pass to Darrell Jackson with 1 minute 57 seconds remaining.

Orlando Huff recovered an onside kick, and the Seahawks reached the 49ers 43-yard line. Hasselbeck threw his next pass directly to seldom-used 49ers safety Rashad Holman, who made his second career interception.

"They might feel bad about letting us in it, but we feel bad about letting them get so far out ahead," Hasselbeck said. "I know if I had played better, we could have got it done."

Jackson caught two touchdown passes. Hasselbeck had another solid game for the Seahawks (4-8), going 30 of 55 for three touchdowns.

49ers' John Engelberger (Virginia Tech) wraps up Seahawks quarterback Matt Hasselbeck in 2nd quarter.