SAN FRANCISCO (AP) - Alex Smith threw a 21-yard touchdown pass to Vernon Davis, Frank Gore ran for 93 yards and a score and the San Francisco 49ers took a 17-9 lead over the Detroit Lions through three quarters Sunday night.
San Francisco's stout defense smothered Matthew Stafford and Calvin Johnson on a cold, late summer night at Candlestick Park. The Lions settled for field goals of 41, 40 and 38 yards by Jason Hanson, who also missed a 40-yard attempt off the right upright in the second quarter.
San Francisco stopped the Lions three-and-out on the game's opening possession and took all of four plays and 72 seconds to complete its 67-yard TD drive that ended with Davis' TD catch.
A pass interference penalty on Chris Culliver and a fumble by Kendall Hunter put the Lions deep in San Francisco territory on the next two possessions. Detroit's drives stalled each time, settling for field goals each time.
San Francisco picked on Detroit's depleted secondary from the start.
Cornerback Chris Houston (ankle) and safety Louis Delmas (left knee surgery) were inactive for the second straight game, and rookie cornerback Bill Bentley was out after sustaining a concussion in a 27-23 season-opening win against the Rams.
Mario Manningham took an end around for 29 yards up the right sideline, then Smith found Michael Crabtree for a 17-yard completion before hooking up with Davis on the TD pass. Davis, who came up short trying to dunk the ball over the crossbar in Green Bay last week, instead hopped a row of photographers and took a jump shot that cleanly cleared the crossbar.
Detroit answered back quickly _ with some help.
The replacement referees called a 33-yard pass interference penalty on Culliver while covering Titus Young that gave the Lions a first down on the San Francisco 26. Detroit couldn't capitalize and were forced to kick a 38-yard field goal.
Tahir Whitehead stripped Hunter on the ensuing kickoff, and Kassim Osgood recovered at the San Francisco 25. The 49ers' defense stopped Stafford and the Lions again, and Hanson kicked a 41-yard field goal to slice San Francisco's lead to 7-6.
San Francisco hadn't committed a turnover in its previous six regular-season games dating to last season, the second-longest streak in NFL history. The 49ers could have matched the league record set by the 2010 New England Patriots with another turnover-free game against the Lions.
Dashon Goldson intercepted an overthrown pass by Stafford later in the first quarter and returned it 20 yards to the Detroit 23. Stafford threw for 355 yards in last week's win over St. Louis at home but also had three interceptions before halftime for the first time _ and said he couldn't do that again for the Lions to win.
Adding to the mistakes by Detroit, Drayton Florence ran into kicker David Akers to extend San Francisco's drive and Jacob Lacey was whistled for pass interference against Randy Moss in the end zone. That set up Gore's 1-yard TD run on the first play of the second quarter, extending San Francisco's lead to 14-6.
Johnson caught a 24-yard pass from Stafford on third-and-6 to move to the San Francisco 46. Once again, though, Stafford and the Lions struggled to get into the end zone. Only this time, Hanson's 40-yard field goal attempt bounced off the right upright to the delight of the Candlestick crowd.
Akers kicked a 36-yard field goal after a 10-play, 62-yard drive to open the second half that put San Francisco ahead 17-6 with 9:42 remaining in the third quarter. Detroit answered with its own 10-play, 39-yard drive that ended in Hanson's 40-yard field goal.
The rematch of last season's postgame handshake "mini controversy," as 49ers coach Jim Harbaugh called it this week, certainly had a more civil start.
Harbaugh and Lions coach Jim Schwartz waved to each other during pregame warmups and jogged near midfield for a cordial handshake. That was far different from last October, when San Francisco rallied for a 25-19 win at Ford Field to hand Detroit its first loss following a 5-0 start and Harbaugh enraged Schwartz with a firm backslap and handshake _ the two even had to be separated running off the field.
Antonio Gonzalez can be reached at: www.twitter.com/agonzalezAP