Peterson notched a touchdown among his 23 carries as the Vikings (5-2) limited Arizona to 5-of-14 efficiency on third-down plays and recorded seven sacks en route to the victory.
The Minnesota defense helped Christian Ponder, who managed just four passing yards in the second half, finishing 8-of-17 with two interceptions through the air.
But the Vikings signal-caller did hook up with Percy Harvin on a three-yard, go-ahead TD pass in the second quarter.
John Skelton's scoring strike to Andre Roberts late in the game narrowed the margin to seven points, but Arizona (4-3) could get no closer.
LaRod Stephens-Howling rushed for 104 yards and a touchdown in the loss.