NEW ORLEANS --
Jimmy Garoppolo passed for 349 yards and four touchdowns, Robbie Gould kicked a 30-yard field goal as time expired, and the San Francisco 49ers pulled out a 48-46 victory over the New Orleans Saints on Sunday.
Garoppolo's clutch completion to tight end George Kittle for a 39-yard gain -- plus a defensive facemask penalty -- on fourth-and-2 from the San Francisco 33 helped set up Gould's winning kick.
The Saints took their last lead on Drew Brees' fifth touchdown pass of the game -- an 18-yarder to Tre'Quan Smith with 53 seconds left. But Brees' pass on an attempted 2-point conversion fell incomplete, leaving New Orleans' lead at one point.
The victory kept San Francisco (11-2) in strong position to capture the top seed in the NFC playoffs. The Niners can clinch a playoff berth if Seattle loses to the Rams in a night game.
Niners receiver Emmanuel Sanders had a 75-yard touchdown and added his second-career touchdown pass after taking a handoff on a reverse.
Two of Garoppolo's touchdown passes went to Kendrick Bourne. Kittle also had a touchdown catch. Sanders finished with seven catches for 157 yards.
Brees finished 29 of 40 for 349 yards and also dived across the goal line for a touchdown. Michael Thomas caught 11 passes for 134 yards and a score, but the Saints, 10-3 and already the NFC South champions, were done in by a few critical failures.
Kamara's fumble, recovered by DeForest Buckner on the New Orleans 20, set up Garoppolo's 5-yard touchdown pass to Kittle in the third quarter.
Another Saints risk backfired at the end of the third quarter when Taysom Hill's long pass on a fake punt fell incomplete. Smith, the intended receiver, was being physically impeded as he tried to make the catch. But officials noted that pass interference could not be called on a pass made out of apparent punt formation.
The 49ers took over on their 45 and parlayed the turnover on downs into a 14-play touchdown drive that ate up seven minutes, ending with Bourne's second score on a 6-yard catch.
Brees had forecast that the Saints would have a plan to handle the Niners' vaunted defensive line. They backed it up early with TD drives on New Orleans first four possessions. The first two ended with scoring passes of 38 and 26 yards to Cook. But on Cook's second TD, he was knocked out of the game on a hard hit to the head from cornerback Ahkello Witherspoon.
The Saints elected to take the penalty immediately rather than on the kickoff and move the ball to the 1-yard line for a 2-point try that failed.
The 49ers kept pace and ultimately took a narrow lead with touchdowns on four of their first five possessions. During that stretch, Sanders had a 75-yard TD reception in which he and safety Marcus Williams both fell before Sanders got up and withstood safety Vonn Bell's strip attempt on his way into the end zone.
Later in the second quarter, Sanders completed his 35-yard scoring pass, locating wide-open running back Raheem Mostert down the right side. It was Sanders' second career TD pass. He had a 28-yarder with Denver last season.
San Francisco led 28-27 at halftime after Mostert's 10-yard run.
49ers: host Atlanta on Sunday.
Saints: host Indianapolis on Monday night.