DETROIT -- Adrian Peterson sure seemed to have his trademark burst back Sunday. The Vikings running back asserted earlier in the week that a bruising 25-carry, 86-yard day in Week 3 against San Francisco had been like a can of WD-40, removing those last flecks of rust away from his game.

Then in Sunday's surprising 20-13 upset of Detroit at Ford Field, Peterson appeared to be his old self again. Rushing for 102 yards on 21 carries, Peterson gave the Vikings just what they needed in the ground game, notching his 28th career 100-yard day and the first since a home loss to Green Bay last October.

Before the game, Peterson felt a big day coming on and told receiver Percy Harvin that he was feeling "icy."

"When he tells me icy, that means he's smooth and ready to go," Harvin said.

Peterson's first carry went for 12 yards. He later added big gains of 18 and 10 yards and picked up a first down on one run on which he had his shoe ripped by Lions defensive end Cliff Avril but kept fighting for yards.

Not surprisingly, the postgame Peterson praise was flowing.

"That guy's a beast, man," said receiver Jerome Simpson. "You've got to get him touches and he's going to make a play."

Added Avril: "Can't take anything from that guy. He's a heck of a football player."

Unsung hero The Vikings defense enjoyed a fantastic afternoon against Detroit. The Lions' 13 points matched their lowest scoring output since December 2010. Their rushing attack produced only 55 yards on 20 attempts. And quarterback Matthew Stafford was held without a touchdown pass for just the third time in his career.

Credit Vikings defensive lineman Everson Griffen for making three of the biggest plays. With 10 minutes to play and the Vikings ahead 20-6, Detroit had driven inside the 10. But on consecutive plays, Griffen attacked Stafford. On third-and-5 from the Vikings 7, Griffen's fierce rush forced Stafford into a rushed and dangerous shovel pass that fell incomplete.

On fourth-and-5, Griffen took Stafford down for a 10-yard loss, getting the Vikings the ball back.

The third-year veteran also finished the game with a sack before Stafford could attempt a game-tying Hail Mary throw.

Griffen has embraced the versatile role the Vikings have given him. He can rush from the edge or from the tackle spot, and he's occasionally asked to drop into coverage as a hybrid linebacker/lineman.

Said coach Leslie Frazier: "He's understanding what we want from him. He's pretty clear now on exactly what the expectations are. And we do a lot of different things with him. ... He's a heck of a special teams player as well. So now we're at a point where we're getting the most out of him in each situation. And that's great for our football team."

Welcome to the party The Vikings' two biggest free-agent acquisitions made their first receptions with the team just 34 seconds apart.

Simpson, playing his first game after serving a three-game suspension, caught his first pass from Christian Ponder less than 4 minutes into the game, a 6-yard grab on a comeback route. On the next play, Ponder hit tight end John Carlson for a 1-yard loss.

Carlson, signed as a free agent, has just one catch for minus-1 yard in three games.

That's better Last season, Ponder left Ford Field with his confidence plummeting following a disastrous day in which he had four turnovers and absorbed three sacks before being benched early in the third quarter.

Ponder was far from spectacular Sunday -- he went 16-for-26 for 111 yards and led only two field goal drives on 10 possessions. But he did take care of the ball. Through four games, Ponder has just one turnover, a fumble in the season opener.

Etc. • Receiver Michael Jenkins left the game briefly in the first half because of a rib injury but returned. Frazier said Jenkins will have X-rays to make sure everything is fine. Other than that, the Vikings had no serious injuries.

• As expected, linebacker Erin Henderson (concussion) and safety Mistral Raymond (ankle) didn't dress Sunday.

• It was a quiet day for Viking tight ends. Kyle Rudolph caught just two passes for 8 yards.

• Also held in check: Percy Harvin, who had three catches for 22 yards, his last reception coming with 11 minutes left in the first half.

• The Vikings committed five penalties, three of them coming against Lions receiver Calvin Johnson. Jamarca Sanford and Antoine Winfield each drew pass interference calls against Johnson for 56 and 4 yards while Chad Greenway was flagged for delivering a shoulder-to-helmet hit on Johnson in the fourth quarter.