Vikings quarterback Christian Ponder was at his best Sunday, completing 21 of 35 passes for 198 yards and hitting Kyle Rudolph for two touchdowns and running 23 yards to score another as the Viking scored a big upset in beating the 49ers 24-13 at Mall of America Field.

In the first three games of the NFL season, Ponder proved he can be the Vikings' quarterback of the future and be a good one.

None of the NFL experts gave the Vikings a chance against a team rated the best in football, especially after they played poorly last week in losing to a young Colts team that isn't expected to go anywhere.

But Sunday, the Vikings put on their best performance, offensively and defensively, in a long time, and maybe this victory will give them the confidence to continue winning when they play against the Lions in Detroit next Sunday.

The Vikings share the North lead with Chicago at 2-1. Green Bay, which plays Monday night at Seattle, is 1-1 and Detroit is 1-2.

As for Ponder, he credited the victory to the Vikings having the right mindset.

"It's all about attitude, and we came out with the right attitude," Ponder said. "Everyone's been counting us out since the end of last year, and in all of the preseason predictions. We know that we have a good team, and we wanted to come out and start fast, which we did, and finish strong, which we did. It's just all about attitude.

"This was a fun one for us. You know what? It's Week 3, it's the third game and we've got to move on to next week now.

"It does feel pretty good. For us to get this win is huge. Again, it's just one game, though. If this is the Super Bowl then we'd be celebrating, but we've still got 13 more games in the regular season.

"Everyone should have that mindset, that you can compete with the best. I'm going to go out and bust my butt and work hard and make sure we're competitive in every game."

Ponder said the team is better than it has been ranked.

"Everyone is counting us out in the NFC North, but we know we can be competitive," he said. "This is just one game, though, and we've got to get back to work and focus on Detroit next week."

Ponder said the Vikings offense believed it could move the ball on the ground against the 49ers.

"We knew we had to run the ball," he said. "Looking back at the teams they lost to last year, they ran the ball well. We ran the ball well, and that opened up the passing game. We just had to execute, and we executed.

"We knew we could move the ball if we just executed, and it worked out extremely well."

Praises Harvin Ponder sang the praises of receiver and sometime running back Percy Harvin, who caught nine passes for 89 yards, most of them in critical situations.

"Percy Harvin is unbelievable," Ponder said. "He's one of the best receivers in this league, if not the best receiver. He's so versatile. We're just going to keep giving him the ball, and he's going to keep making plays."

Ponder has a lot of respect for the 49ers.

"Obviously they're a fantastic team," he said. "They're one of the best in the league. They might end up being the best team in football, but we were better today. We executed extremely well, and Coach [Bill] Musgrave on offense came up with such a great plan."

Ponder ended up being the Vikings' second-leading rusher with seven carries for 33 yards, including a 23-yard touchdown run in the second quarter.

"I've got some wheels, man," he said. "I'm athletic, I can run the ball a little bit. No, I've had longer runs than that. It's my longest one in the NFL."

Big day for Greenway Linebacker Chad Greenway, who led the Vikings with 13 tackles, including two sacks, said the defense knew all along it could play as well as it did Sunday.

"The first two games, we got beat up in some situations, and it was because we didn't pay attention to details," Greenway said.

"We weren't in the spots we needed to be in. This week was all about being attentive to details, getting after the guys, being physical, and getting back to the way we used to play defense around here. And we did it today."

Greenway said the game plan was to force the 49ers to pass.

"The fact of the matter is, we knew we had to stop their running game in order to get them in passing situations to be able to get after them, and that's what we did," he said.

Vikings defensive end Jared Allen, who finally got his first sack of the season sunday with a key hit to force a fumble, agreed with Greenway that the defense finally did things the right way.

"It was huge. Probably the biggest victory in years," he said. "We're starting to change the culture back to being a tough-nosed defense like we used to be.

"This week, with good preparation and, you know, a lot of veteran leadership this week, just guys getting a little grit in their belly and getting after it."

Peterson back in form When the Vikings needed Adrian Peterson to make some big yardage on the ground, he came through in the second half.

Peterson had 25 carries for 86 yards, and all but 29 of those came in the second half when he helped the Vikings protect their lead and the ball.

"The more I play, the better I feel," Peterson said.

Yes, it takes some time once an athlete undergoes reconstructive knee surgery, but he has recovered faster than most. Peterson had his surgery last December.

49ers had the stats There were a number of reasons why nobody expected the Vikings to beat the 49ers like they did Sunday, especially after struggling to beat the Jaguars and losing to the Colts, two teams ranked near the bottom of the league.

The 49ers had all of the stats in their favor coming into the game, being among the NFL leaders in rushing yards per game allowed (96.5), rushing touchdowns allowed (0) and points allowed (20.5).

And 49ers quarterback Alex Smith had posted a QB rating of 115.9 to rank second in the NFL to Matt Ryan of the Falcons, who had a 117.6 rating before Sunday's game. Smith also ranked third in the NFL with four touchdown passes and fifth in the NFL with a completion percentage of 70.2.

Sid Hartman can be heard weekdays on 830-AM at 6:40, 7:40 and 8:40 a.m. and on Sundays at 9:30 a.m. shartman@startribune.com