How the Minnesota Vikings overtook the San Francisco 49ers

The Minnesota Vikings racked up 344 yards in total offense -- 146 rushing -- in their 24-13 upset of the San Francisco 49ers on Sunday by manipulating the vaunted defense's aggression.

A Vikings source explained why the team's offense was able to keep the 49ers off balance

» "We studied them a lot this offseason, and we felt that some of their players felt it was all about getting sacks," the team source said. "Then they open the season with Green Bay and Detroit, who don't do anything but throw it, and they further buy into getting sacks. We decided we were going to run at them, and they didn't like it. After awhile, we feel like we broke them.

Darlington: True blue collar

Jeff Darlington explores how Jim Harbaugh and the 49ers have built a winning culture around honest, hard work. More ...

» The Vikings ran the ball 41 times for 146 yards and one touchdown. Quarterback Christian Ponder threw 35 times for 198 yards and two touchdowns with no interceptions -- and ZERO sacks.

"We caught them off guard," the source said. "They didn't like that."

The Vikings also had running back Adrian Peterson, who is still recovering from major offseason knee surgery, on a carries limit. Once he got to 25 carries, the Vikings pulled him. Peterson got 86 yards on those carries, and the coaching staff -- and Peterson -- believed he could have continued playing, but the source said the Vikings don't want to push him too hard so soon.

Ponder also continues to play well, the source said. In three games, he has completed 70 percent of his passes (7.4 yards per attempt) and has yet to throw an interception. He has thrown four touchdown passes.

"He came into the game completing 76 percent of his passes, but nobody's noticed because so many people thought he wasn't going to make it," the source said. "He's been great."

This article has been reproduced in a new format and may be missing content or contain faulty links. Please use the Contact Us link in our site footer to report an issue.