Vikings 24, 49ers 13: Christian Ponder threw two touchdowns to Kyle Rudolph and ran for another, helping the Vikings to a surprisingly easy upset of the visiting 49ers in a game nearly marred by a mistake by the replacement officials.
Adrian Peterson ran for 86 yards for Minnesota (2-1), which got off to a fast start by scoring on its first offensive drive - a 16-play, 82-yard march - and took a surprising 17-3 halftime lead against the powerhouse 49ers (2-1).
Alex Smith's franchise record of 249 attempts without an interception came to an end and Randy Moss, who starred for seven seasons in Minnesota, had just three catches for 27 yards in his first game against the Vikings. Moss' latest team was seeking its first 3-0 start since 1998, but the 49ers were beaten at their own game.
Minnesota's ball-control offense had touchdown drives of 82, 80 and 86 yards and racked up 146 rushing yards against last season's stingiest run defense.
Controversy emerged when replacement officials incorrectly allowed San Francisco to successfully challenge a fourth-quarter fumble by Toby Gerhart despite not having a timeout. The call ultimately had no effect the outcome.
The 49ers set an NFL record by going 14 straight games without allowing a rushing touchdown last season, but Ponder's 23-yard scamper ended this year's streak at 13 quarters. Ponder escaped from the pocket and split a pair of defenders before diving into the end zone for a 14-3 lead.
GAME NOTEBOOK: The 49ers cut into the two-touchdown deficit midway through the third quarter thanks to a 1-yard touchdown catch by Vernon Davis. The Vikings responded at the start of the fourth when Rudolph made a sensational one-handed, 2-yard touchdown grab while falling to the ground. ... Moss dropped an easy pass early in the first quarter, eliciting a few catcalls. He made his first catch against the Vikings at the start of the second quarter. ... Rookie Blair Walsh became the first Vikings kicker to hit a field goal of over 50 yards in each of the first three games.