Favre, who reported late to the Vikings' training camp while he mulled over whether to play a 20th NFL season, started the game and completed his one pass for 13 yards. Minnesota didn't score on the drive.
Favre, 40, who led the Vikings to the NFC title game last season, had off-season ankle surgery and took his time deciding whether to return this season, for which he will be paid $13 million.
San Francisco, 2-0, got a 4-yard touchdown from Anthony Dixon, who ran 20 times for 51 yards, and Joe Nedney booted field goals of 28 and 31 yards. Alex Smith was 9-of-13 for 88 yards for the 49ers.
Joe Webb ran 48 yards for a Minnesota score but also was sacked for a safety on the last play of the game. Ryan Longwell kicked a 40-yard field goal. Adrian Peterson mustered 17 yards on six carries and added 25 yards on three receptions as the Vikings slipped to 1-1 in exhibition play.
'SNL': 'Anchorman 2' cast, One Direction sing 'Afternoon Delight' [VIDEO]
Reindeer recovered after escaping from Santa during lighting ceremony