Updated

Last season, the New Orleans Saints won their games with a high-flying offense. So far this year it's been all about defense.

Garrett Hartley kicked a 37-yard field goal that barely fluttered through as time expired after Drew Brees set it up with a 30-yard completion to Marques Colston and the Saints spoiled the San Francisco 49ers' home opener with a 25-22 victory Monday night.

San Francisco's Frank Gore ran for a 7-yard touchdown with 1:19 to play and Vernon Davis made a close-call catch at the goal line for the tying 2-point conversion. The play was initially called no good, but the 49ers (0-2) challenged the ruling and won.

The defending Super Bowl champion Saints (2-0), who relied on their defense most of the game, got the ball back at the 30 with 1:14 left and the wind at their back. Brees hit Colston with a pass that put the Saints on the 18 with 18 seconds left. The 49ers watched anxiously as Hartley's kick just made it.

"We've stayed with the mindset we are the hunter, not the hunted," Brees said moments after the thrilling finish.

Reggie Bush caught a 6-yard TD pass in his first game since giving back his 2005 Heisman Trophy won while with Southern California. The NCAA punished USC after concluding that Bush and his family took money and gifts from sports agents while Bush played for the Trojans. Bush was helped off the field with a right leg injury with 6:58 left and then was taken to the locker room on a cart. No information was given on the severity of the injury.

"Everybody is giving us their A game," Bush said. "Everybody is giving us their best shot. We're just finding ways to win. That's all we can do is find ways to win. We can't be down about a win like this. This is a great win against a physical team, a tough team. They came out and gave us their best shot. We still found a way to win. That's what champions do, find ways to win no matter what."

Brees hit David Thomas for a 3-yard score that put New Orleans ahead late in the third quarter and Tracy Porter's interception at the 10-yard line preserved the lead until Gore's late run.

"They played really well," Brees said. "You've got take your hat off to them, they played hard."

San Francisco outgained the Saints in yards 417-287 but beat itself with turnovers.

Roman Harper intercepted a pass by Alex Smith at the 26 in the first quarter. Malcolm Jenkins recovered Delanie Walker's fumble at the 3 just before halftime as the Niners failed to capitalize on opportunities.

"We came in with the mindset that we were going to win the turnover battle, and we did that decisively," Saints coach Sean Payton said.

On a festive evening at Candlestick Park in which the 49ers retired Hall of Famer Jerry Rice's No. 80 jersey at halftime, the Niners looked little like the championship teams Rice starred on in the 1980s and 90s.

Gore provided the highlight, running for 112 yards and catching a 12-yard touchdown pass from Smith.

New Orleans' defense shined for the second straight game in the national spotlight, the Saints' first game since kicking off the NFL season in prime time on Sept. 9 with a 14-9 victory over the Vikings. The inconsistent Saints offense looked far from top form but still found a way to beat the Niners for the sixth straight time.

San Francisco helped out by committing the three turnovers and snapping a ball out of the end zone for a safety on the opening series.

New Orleans is 2-0 in consecutive seasons for the first time in franchise history.

Brees calmly directed New Orleans into the end zone in its first drive just as he did in the team's initial series in the opener. Brees — who took time to sign autographs on the sideline before dressing for the game — capped the seven-play, 46-yard drive by hitting a wide-open Bush, who pointed to the crowd and then saluted.

Brees completed 28 of 38 passes for 254 yards, eight of those completions to Pierre Thomas.

49ers coach Mike Singletary said during the week, "We will stop Drew Brees."

Hartley also kicked fourth-quarter field goals of 46 and 19 yards for the Saints, who have a quick turnaround heading into their NFC South matchup Sunday with the Falcons. Atlanta is coming off a commanding 41-7 win against Arizona.

Smith was 23 of 32 for 275 yards with two interceptions.

The 49ers finally reached the end zone for their first touchdown of the season at the 9:52 mark of the second quarter when Smith connected with Gore. But there were few such moments because of all the mistakes — many of the same things that hurt San Francisco in an embarrassing 31-6 loss at Seattle.

On the safety, fill-in center David Baas snapped the ball high over Smith's head. The 49ers were booed by the sellout home crowd after going three-and-out in their next series. Smith was intercepted by Harper the next time San Francisco had the ball, which came off Gore's right hand before the pick.

The Niners didn't appear to have the same communication problems that plagued them against the Seahawks. There were issues with getting the plays into Smith on time before his headset cut out with 15 seconds left on the play clock.

Singletary and offensive coordinator Jimmy Raye spent the week trying to fix the problem, with Raye taking blame and committing to make things right. While moving Raye down to the field was discussed, he stayed put in the booth to call the plays and Smith wore a wristband with go-to plays in case the issues came up again.

Notes: Gore produced his 21st career 100-yard rushing game, most in team history. ... Brees is 5-0 all-time against the 49ers. ... San Francisco is 0-2 for the first since dropping its first four games in 2004.