SAN FRANCISCO -- DeAngelo Williams scored on a 27-yard touchdown run, and Graham Gano kicked a 53-yard field goal, lifting the Carolina Panthers to a 10-9 victory over the San Francisco 49ers Sunday in a defensive battle at Candlestick Park.
The Panthers (6-3) won their fifth straight game and snapped the 49ers' (6-3) five-game winning streak.
Carolina held 49ers quarterback Colin Kaepernick to just 91 yards on 11-for-22 passing with one interception. Panthers quarterback Cam Newton went 16 of 32 for 169 yards and an interception.
Panthers middle linebacker Luke Kuechly had a team-high 11 tackles, one sack and two tackles for loss.
Trailing 9-7 at halftime, the Panthers had a chance to take the lead late in the third quarter, but Gano missed a 48-yard field attempt wide left. Carolina had marched from its 11 to the 49ers' 30 before the drive stalled.
Gano got another chance with 10:05 left to play, and this time he drilled a 53-yard field goal for a 10-9 Panthers' lead.
Former 49ers wide receiver Ted Ginn Jr. set up Gano's field goal with a 24-yard punt return to the 49ers' 44.
The 49ers forced a punt late in the game, but linebacker Colin Jones downed it at the 1 for Carolina. The 49ers got one first down on Kaepernick's 14-yard pass to wide receiver Mario Manningham on third-and 10, but Kuechly sacked him for a nine-yard loss on first down and the 49ers wound up punting.
Running back Jonathan Stewart and Newton fumbled on the Panthers' ensuing drive, but Carolina recovered both and ultimately punted again, giving the 49ers one last chance at their 20 with 1:02 left. But defensive end Greg Hardy sacked Kaepernick on first down, and cornerback Drayton Florence intercepted a pass on second down.
San Francisco tight end Vernon Davis left the game with a concussion late in the first half and did not return. The 49ers had lost No. 3 tight end Garrett Celek to a hamstring injury in the first quarter, leaving rookie Vance McDonald as the team's only healthy tight end.
Then with 8:29 left in the third quarter, 49ers rookie safety Eric Reid suffered a concussion -- his second of the season -- on a helmet-to-helmet tackle of Panthers fullback Mike Tolbert, ending his day. Reid stayed down on the turf for a few minutes but was able to walk off the field.
The 49ers built a 9-7 halftime lead on the strength of three Phil Dawson field goals, from 52, 43 and 25 yards. Carolina countered with Williams' 27-yard touchdown run with 1:52 left in the half.
Both defenses had their way for most of the first half. Carolina had 110 net yards, most of those coming on an 80-yard touchdown drive. The 49ers had just 106 net yards.
Dawson gave the 49ers a 3-0 lead with his 52-yard field goal with 10:45 left in the opening quarter as they stalled at Carolina's 34 on their opening drive.
The 49ers settled for another field goal early in the second quarter, this one from 43 yards, after getting a huge break. Panthers linebacker Jordan Senn partially blocked Andy Lee's punt, but the ball hit Florence downfield, and Reid recovered at the Panthers' 30.
The 49ers gained five yards on three plays before calling on Dawson.
San Francisco made it 9-0 with 6:16 left in the half on Dawson's 25-yarder. The 49ers took over on Carolina's 24 after cornerback Tramain Brock intercepted a Newton overthrow and returned 42 yards. This time, they stalled at the Carolina 2, where they faced fourth-and-1 but settled for another field goal.
The Panthers responded with an eight-play touchdown drive as Newton finally got untracked. After completing just two of his first 12 passes for 13 yards, he went 3-for-3 for 41 yards on the TD drive. On first-and-10 from the San Francisco 27, Williams gashed the 49ers on a counter play, taking a step to his right then cutting left and bolting through a huge hole off left guard. He bounced outside, broke two tackles and scored standing.
Two key players -- outside linebacker Aldon Smith and Manningham -- returned to action for the 49ers. Smith suited up after missing five games while being treated for substance abuse but didn't start and didn't make his first appearance until midway through the second quarter, as a nickel pass rusher.
Manningham, who caught 42 passes in just 12 games last year, made his season debut and was in the starting lineup. He played for the first time since tearing two ligaments in his left knee on Dec. 23 against the Seattle Seahawks.
NOTES: Panthers OLB Chase Blackburn left the game in the second quarter with a foot injury and did not return. ... Niners DT Ray McDonald suffered an ankle injury in the first half and didn't return. ... San Francisco running back and return man LaMichael James was active for the first time since Oct. 6 against the Houston Texan and for the third time this season. ... Former 49ers wide receiver Terrell Owens returned to Candlestick Park for the first time since 2003 and was an honorary captain. ... Panthers starting right guard Chris Scott (right knee) was inactive, and Nate Chandler started in his place.