Peterson's 61-yard touchdown run in the fourth quarter capped a big day in which the NFL's leading rusher surpassed the 1,000-yard mark for the fifth time in his career. He finished Sunday with 1,128 yards for the season so far.
Christian Ponder shook off several poor starts to pass for 221 yards and a pair of touchdowns as the Vikings (6-4) snapped a two-game skid going into a bye week.
The Lions (4-5), meanwhile, saw a two-game winning streak snapped despite a great game from Calvin Johnson, who made a career-high 12 catches for 207 yards and a TD.
Matthew Stafford amassed 329 yards, three touchdowns and an interception in Detroit's loss.