MINNEAPOLIS The Minnesota Vikings kept pace in the NFC North with Sunday's 21-14 win against the Arizona Cardinals and did so the old-fashioned way, with a strong running game and stout defense.
Minnesota (5-2) continued its early-season momentum thanks to an all-around defensive effort Sunday and 153 yards rushing by Adrian Peterson, holding on after developing an early lead.
Sunday's victory wasn't always pretty, but the Vikings again did enough to come away with a win. Here's how Minnesota stacked up against Arizona (4-3):
Pass offense: F
If the Vikings had more of a threat in the passing game, they might not have needed to sweat out a final onside kick by the Cardinals and a first-down run by Peterson at the end to run out the clock. Quarterback Christian Ponder threw two interceptions for the third straight game, another one leading directly to a touchdown. After being the final quarterback in the NFL to throw an interception this season, Ponder has given the ball away too often in the past three games, looking more like the inconsistent rookie he was last year. Ponder came back from the interceptions last week to throw for 352 yards. This week, he finished with 58 yards passing. He was 8 of 17 for 58 yards, a touchdown and two interceptions, and was sacked three times. Really, aside from a 29-yard pass interference penalty drawn by receiver Jerome Simpson, Minnesota's passing offense didn't pose much of a threat.
And nursing a 14-7 halftime lead, the passing game was even worse in the second half. Ponder was 1 of 7 for four yards in the second half and the Vikings only had one first down until Peterson's run on the final play. Ponder misfired on a couple of passes and the interceptions again were poor throws that would have been better served being thrown out of bounds as Ponder was chased out of the pocket. Minnesota won without a passing attack Sunday, and knows it can rely on Peterson and the defense now. But if the Vikings hope for sustained success and maybe a chance to make noise in the playoffs, Ponder will need to show more of the progression he did through the first three weeks than some of the regression he's shown in the past four weeks. With the struggles, receiver Percy Harvin ended up with four catches for just 37 yards, though he did score a touchdown on a nifty playcall, coming from one side of the formation to catch a ball on the other side. Tight end Kyle Rudolph was held without a catch and Simpson, back and healthy, only had one catch for eight yards. Whether the struggles were all on Ponder, or the receivers didn't get open, or the line didn't give Ponder time, this was a step back for the second-year quarterback and the passing offense.
Run offense: B
Minnesota didn't need to rely on Ponder because of Peterson's biggest game of the season. The Cardinals entered the game with one of the league's top run defenses, but Peterson exploded for several big runs in the first half and helped the Vikings get the lead and sustain it. Peterson had 11 carries for 92 yards in the first half, with a touchdown, and finished with 23 carries for 153 yards. Peterson showed his trademark burst and the unique cutting ability that very few backs possess. Making the effort even more impressive, Peterson had missed practice Wednesday and Thursday with the ankle injury he sustained three games ago.
While the offense struggled in the second half, Peterson was still doing his part. He did have 61 yards rushing in the second half, but somehow the offense still only managed those two first downs, a reflection of poor third-down offense (1 of 10 for the game, 0 of 6 in the second half). Harvin carried twice for 10 yards. Backup Toby Gerhart had just one carry for one yard as Peterson carried the load and had his best performance this season coming off last year's knee injury and his recent ankle injury.
Pass defense: B
Arizona went back to quarterback John Skelton, who began the season as the starter, this week because of Kevin Kolb's injury. Skelton finished 25 of 36 for 262 yards and a touchdown, but the stats are misleading. Skelton was 6 of 6 for 79 yards passing on the Cardinals' final drive, finishing with a touchdown to Andre Roberts. Before then, he was 19 of 30 for 183 yards and had an interception returned by Minnesota rookie safety Harrison Smith for a touchdown. Skelton was also sacked seven times. The Vikings controlled Skelton and the passing attack until the final drive when Minnesota loosened its coverage and gave Arizona a score and the chance at an onside kick, which the Vikings recovered.
Smith's interception return for a touchdown proved to be the game-winning score and was the first interception return for a touchdown by a Minnesota defensive back since Nov. 25, 2007. Smith's play has helped transformed the Vikings secondary and overall defense. Antoine Winfield played another strong game, coming up with a big fourth-down stop on a scrambling Skelton that was ruled a sack, and looks revitalized playing with a young secondary. Chris Cook was largely responsible for holding Cardinals receiver Larry Fitzgerald to four catches for 29 yards, jamming the big receivers at the line of scrimmage. With the secondary holding strong, the pass rush took advantage of a beleaguered Arizona offensive line. Brian Robison had the first three-sack game of his career and forced a fumble. Jared Allen had two sacks, and Kevin Williams had another. The Cardinals have allowed 29 sacks in the past four games.
Run defense: C
Arizona was also down to its third-string running back this season after injuries to Beanie Wells and Ryan Williams. William Powell dominated the carries last week, but this week Minnesota struggled to handle the small, shifty LaRod Stephens-Howling. Despite the strong game, Vikings' defenders were disappointed by tackling problems. Stephens-Howling broke several tackles and finished with 20 carries for 104 yards against Minnesota's well-respected run defense.
Tackling will likely be a point of emphasis this week for the Vikings. A week after the defense was perplexed against Washington's dynamic, speedy quarterback, Robert Griffin III, the run defense struggled again. Stephens-Howling's moves and elusiveness had Minnesota defenders slipping at tackle chances normally made.
Special teams: B
The game opened with an apparent 103-yard touchdown return on a kickoff by Harvin, but it was called back after an illegal block penalty on Marvin Mitchell. Penalties were a problem Sunday for the Vikings, and seemed to come at critical times, especially on special teams. A.J. Jefferson was penalized for holding on one punt return that pushed Minnesota back to the 3-yard line to start a drive. Tyrone McKenzie was penalized for ineligible downfield adding five yards for the Cardinals.
Chris Kluwe was busy with seven punts and averaged just 40 yards-per-punt. But most importantly, he kept the ball out of the hands out of Arizona's electric returner Patrick Peterson. Peterson had four returns for just seven yards and the coverage units were ready.
Harvin had two returns for 47 yards, and rookie kicker Blair Walsh had touchbacks on three of his four kickoffs.
Coach Leslie Frazier preaches a strong running game and good defense, and said after the game the philosophy helps the Vikings pull out wins such as they did Sunday. There are mistakes to fix, such as the passing offense, poor tackling and seven penalties for 35 yards. But Minnesota found a way to pull out Sunday's win and beat Arizona, which was also 4-2 coming into the game and fighting for its own position in the NFC. Credit must be given to the Vikings' coaches and players for winning a game where they didn't play their best. As quarterback Christian Ponder said after the game, "It's a good thing to be disappointed when you're 5-2."
Follow Brian Hall on Twitter.