The Minnesota Vikings, led by Adrian Peterson's 140 yards and a touchdown, improved to 5-2 with a 21-14 win over the visiting Arizona Cardinals Sunday afternoon in Minneapolis.

Peterson ran hard all afternoon, breaking tackles on his 13-yad first quarter score, part of his 23 carry, 153 yard effort. The Cards tied the score when Larod Stephens-Howling scored from three yards out following a Ponder interception.

Percy Harvin had a 103 yard kickoff return TD on the opening kick called back on a penalty, scored in the 2nd quarter on a 3-yard pass from Christian Ponder to put the Vikings back up 14-7 before halftime.

Rookie defensive back Harrison Smith picked off Arizona's John Skelton and took it back 31 yards for a TD in the third quarter for a 21-7 lead.

Arizona's Andre Roberts caught a 6-yard TD with 1:48 remaining for the final score.

Ponder only threw for 58 yards, completing just 8 of 17 passes with the one score and two more interceptions. The Vikings defense sacked Skelton 6 times in the win.

The Vikings have a short week as they host the Tampa Bay Buccaneers on Thursday night. The game will be televised nationally on the NFL Network.