NEW ORLEANS -- Bloodied, Drew Brees recovered. Garret Hartley made a nifty comeback, too, for the New Orleans Saints.
Brees wiped off chin after absorbing a hard hit in the waning minutes and guided the Saints to a pair of late field goals, with Hartley kicking a 31-yarder as time expired to beat the San Francisco 49ers 23-20 on Sunday.
The Saints trailed 20-17 when Ahmad Brooks leveled Brees and forced a fumble that Patrick Willis pounced on for the Niners. But Brooks was flagged because his forearm whacked Brees at the base of his neck, awkwardly bending back the quarterback's head. The Niners disputed the 15-yard penalty for a hit to the head.
Brees moved the Saints into position for Hartley's tying 42-yard kick with 2:06 left, then set him up to win it.
Hartley, who had missed four field goals in the Saints' previous three games, made all three of his field goal attempts in the fourth quarter -- he earlier hit from 21 yards.
Those kicks and sound defensive play allowed the Saints (8-2) to overcame three turnovers, a failed fourth down conversion and a 20-14 deficit.
Marques Colston finished with five catches for 80 yards to become the Saints' all-time leader in yards receiving with 7,923, passing Eric Martin's two-decade-old mark of 7,854.
Colin Kaepernick passed for a pair of scores, but finished with only 127 yards and was sacked three times as the Niners (6-4) lost their second straight.
The Saints' defense, one of the worst in NFL history a year ago, played well enough to keep the Saints within striking distance despite what appeared to be a number of seemingly costly mistakes.
Niners running back Frank Gore managed only 48 yards on 13 carries. New Orleans, ranked in the lower third of the league in rushing, outgained San Francisco on the ground, 91 yards to 82.
Kaepernick completed 17 of 31 passes and scrambled only three times for 25 yards. His last run was a 16-yarder that came up just 3 yards short of a first down on third-and-long with less than two minutes to go.
That gave Brees all the time he needed to lead a game-winning drive in regulation.
Brees completed three passes on the final series: a 9-yarder to Graham, the 20-yarder to Colston and then another 12-yarder to Graham.
Brees finished 30 of 43 for 305 yards and one touchdown, a 3-yard connection with rookie tight end Josh Hill.
The Saints committed three costly turnovers during the second and third quarters. Lance Moore muffed a fair catch, setting up an 11-yard San Francisco touchdown drive capped by Kaepernick's pass to Anquan Boldin. Boldin was covered by Corey White, who'd come in after what appeared to be a serious left leg injury to Jabari Greer.
White briefly made up for it with a diving interception later in the second quarter, but when he got up, untouched and tried to run for a score, he fumbled the ball through the end zone for a touchback while diving for the pylon.
That gave the ball right back to the Niners, who drove far enough to set up Phil Dawson's 55-yard field goal, which gave San Francisco a 10-7 lead.
New Orleans was right back in striking distance when Travaris Cadet fielded the kickoff 3 yards deep in the end zone, burst through a seem in the middle of the field and cut left for an 82-yard return to the Niners 21.
Jed Collins' short touchdown run put New Orleans back in front, 14-10.
That score stood until the first drive of the third quarter, when Brees, scrambling right, tried to lob a pass to Graham, only to have Brooks leap up and tip the ball to himself for an interception he returned to the Saints 22.
Vernon Davis' 17-yard TD catch made it 17-14.