MINNEAPOLIS -- It was nothing less than stunning, given that the San Francisco 49ers already were being considered NFL royalty and the Minnesota Vikings court jesters.
But here it is: The San Francisco defense, so stout, was attacked, successfully, from the opening whistle. The Vikings defense, for two years an Achilles heel, stood tall, making stops, taking away the ball. And Christian Ponder? Well, the young Vikings quarterback was simply amazing.
Put that all together and you have a 24-13 Vikings victory at Mall of America Field that had a less-than-capacity crowd frenzied. The Vikings (2-1) scored first, scored when they had to, and got a career day from Ponder, who completed 21 of 35 passes for 198 yards and two touchdowns, both to tight end Kyle Rudolph. He also ran for a score, the first the vaunted 49ers defense had allowed this year.
"That's a big win," Vikings coach Leslie Frazier said. "It validates the confidence we have as a staff in our players. It should be something we can build on the rest of the season. That's a big deal."
The game was marred by some admittedly (from referee Ken Roan) late mistakes -- Roan mistakenly allowed 49ers coach Jim Harbaugh to challenge late -- but it showed the 49ers might have some flaws.
The Vikings? They might have more potential than many thought.
"Ever since the beginning of the summer people have been counting us out," Ponder said. "They probably counted us out of this game. But we know the personnel we have. We believed we could do it, and we did it."
The Vikings ran for 146 yards on the 49ers run defense. Sustained drives (all four scoring drives were nine plays or longer) and bounced back when the 49ers showed some life in the third quarter.
Afterwards, in the 49ers' locker room, the players seemed shocked.
"I can say we were the team to beat, and they came out and gave us their best shot," 49ers linebacker NaVorro Bowman said. "Nobody likes losing. We have to chalk it up and do better next week."
Running back Adrian Peterson ran 25 times for 86 hard-earned yards for the Vikings. Receiver Percy Harvin had nine catches for 98 yards, and four other receivers had two or more receptions.
On the other side, the Vikings defense forced key turnovers and held the 49ers to field goals on two key drives that reached the Red Zone.
Confident? San Francisco coach Jim Harbaugh was. His team won the opening toss, and he deferred to the second half, preferring to have his defense set the tone.
It didn't quite work that way. Ponder, who had his best game as a pro, confidently led the Vikings on a 16-play, 82-yard scoring drive that ended with his 1-yard toss, off his back foot, to Rudolph on fourth-and-goal. Ponder was five-of-seven for 48 yards on the drive, which ate up half of the first quarter.
The 49ers pulled within 7-3 on David Akers' 29-yard second quarter field goal after a long San Francisco drive was stopped at the Vikings' 11.
Then the Vikings drove again, 80 yards in 11 plays, ending with Ponder's electric 23-yard scramble up the middle for a TD that made it 14-3 with less than six minutes left in the half.
"I thought we were ready to play," Harbaugh said. "We had our opportunities, and didn't get it done."
And Minnesota wasn't done. The 49ers drove to the Vikings' 25 where, on fourth down, Akers' field goal attempt was blocked by Leroy Guion, giving the Vikings the ball at the 49ers' 33 with 47 seconds left. Ponder converted on third down twice, driving the Vikings 32 yards to set up Blair Walsh's 52-yard field goal as time in the half expired.
The Vikings had to expect some push back. And, after halftime, the 49ers provided it.
Kyle Williams returned the second half kickoff 94 yards to the Vikings' 14, but the Minnesota defense held again, forcing a field goal. But, after a three-and-out by Minnesota, Smith -- who finished the game 24-for-35 for 204 yards and a touchdown -- completed all six of his passes, marching the 49ers 86 yards for a touchdown on Smith's 1-yard toss to tight end Vernon Davis. The extra point made it 17-13 and the 49ers had the momentum.
"It was where we wanted to be," said Smith, who completed 24-for-35 passes for 204 yards, an interception and a fumble lost.
But the Vikings responded with the drive of the game. Taking advantage of key 49ers penalties, the Vikings ran off their own 86-yard drive to make it 24-13 early in the fourth quarter on Ponder's pass to Rudolph.
The Vikings were able to shrug off two Toby Gerhard fumbles -- and some bad officiating -- to hold onto the win. Josh Robison got his first interception of the year while ending Smith's interception-free streak at 249 passes. After another Gerhart fumble Jared Allen sacked Smith, forcing a fumble.
"You could sense the difference in everyone's mindset," Peterson said. "We knew we would come out here and establish the run and put some balls downfield."
Notes: Linebacker Patrick Willis and defensive lineman Isaac Sopoaga of the 49ers are having X-rays for apparent leg injuries. ... For the third time this season wide receiver Ted Ginn (ankle) and running back Brandon Jacobs (knee) were inactive for the 49ers due to preseason injuries. ... Undrafted rookie tight end Garrett Celek made his NFL debut for San Francisco. ... As expected, Vikings linebacker Erin Henderson -- the team's leader in sacks and tackles and a key part of the Vikings nickel defense -- was inactive due to a concussion sustained last week against Indianapolis. Marvin Mitchell, making his third start in six years, replaced Henderson. Mitchell did not play the first two weeks due to an ankle injury. ... DE De'Aundre Reed (calf) was inactive for Minnesota, as was rookie receiver Jarius Wright, who had missed the first two games with an ankle injury. ... Starting Vikings safety Mistral Raymond was carted off the field after injuring his right ankle on the final play of the first quarter. He was replaced by Jamarca Sanford. ... Vikings kicker Blair Walsh set a team record by hitting a field goal longer than 50 yards in three consecutive games.