Peterson was held to 86 yards, but quarterback Christian Ponder threw a touchdown pass, Toby Gerhart rushed for a score and Blair Walsh kicked three field goals to lift the Vikings.
Peterson, who had a streak of eight 100-yard games snapped, finished the game with 1,898 yards this season and still needs 208 yards to break the NFL single-season rushing record set by Eric Dickerson in 1984.
Washington, who welcomed rookie quarterback Robert Griffin III back to the lineup after he was sidelined for a week with a knee injury, escaped a scare when Philadelphia had a first-and-goal at the five-yard line with 11 seconds left, but failed to score a touchdown that would have sent the game to overtime.
“Winning always cures all ills. It was just good to be back out there with the guys,” Griffin said.
“We’re playing the best ball we’ve played all year at the right time. We’re rolling. We know that we can win any kind of game we have to, whether it’s a high-scoring game or a low-scoring game or a gut-wrencher at the end,” he said.
Dallas rallied with 14 points in the last four minutes to send their game against the Saints into overtime, but they failed to mount a threat with their first possession in extra time and New Orleans (7-8) won on a 20-yard field goal.
The Chicago Bears (9-6) stayed in playoff contention with a 28-13 victory over the Arizona Cardinals (5-10).
NFC North champions Green Bay Packers (11-4) maintained their strong form with a 55-7 thrashing of the Tennessee Titans as Aaron Rodgers threw for three touchdowns and 342 yards.
Tom Brady threw a pair of interceptions in the first quarter, but recovered to lead the AFC East champion New England Patriots (11-4) to a 23-16 victory over the Jacksonville Jaguars. It was the Jaguars 13th defeat, a franchise worst.