The Vikings scored 23 points in the second quarter and were able to hold off a late comeback by the Rams, who put up 15 points in the fourth to close the gap to two touchdowns.
But the story was Peterson, who averaged 8.8 yards on 24 carries and added an 82-yard touchdown run in the first half. He now sits 294 yards behind Eric Dickerson's single-season rushing record with two games remaining.
The win improves the Vikings to 8-6 on the season and keeps them firmly in the race for the postseason. St. Louis, meanwhile, drops to 6-7-1.
As already noted, the story of the day was Peterson, who finished with 212 yards and a touchdown.
If you happened to start Minnesota kicker Blair Walsh, then you were treated to a five-field goal performance, including three conversions from at least 50 yards.
St. Louis running back Steven Jackson didn't reach the end zone, but he did put up 146 yards of total offense in one of his better performances of the season.
Minnesota quarterback Christian Ponder struggled, though, accumulating 131 passing yards with one rushing touchdown.
Did they cover?
The Rams entered the day as three-point favorites against the Vikings, meaning they failed to cover in the 36-22 defeat.
The Rams will finish the regular season with two road games, starting with the Tampa Bay Buccaneers next week.