Updated

Adrian Peterson ran for 171 yards and a touchdown on 27 carries as the Minnesota Vikings grabbed a big win with a 34-24 victory over the Detroit Lions in NFC North action from the Metrodome.

Peterson eclipsed the 1,000-yard mark for the fifth time in his career and leads the NFL with 1,128 yards. His 61-yard touchdown run in the fourth quarter sealed the win for the Vikings (6-4), who snapped a two-game losing streak going into the bye week.

"I take a lot of pride in the hard work I put in every week," said Peterson. "I just kept pounding today, and knew it was going to be feast or famine. Eventually we were able to break through and get the big plays."

Christian Ponder snapped out of his funk with a solid performance as he passed for 221 yards and two touchdowns on 24-of-32 attempts. He was coming off an 11-of-22, 63 yard and one interception performance in a loss to Seattle last week. He had eight interceptions over his previous five games.

"This was an incredibly important win because we were playing a divisional opponent at home," said Minnesota head coach Leslie Frazier. "And if you want to be a good football team, these are the games you have to win. Today, we were able to do that."

Calvin Johnson finished with his best game of the season as he had a career- high 12 catches for 207 yards and his first touchdown since Week 3. Matthew Stafford passed for 329 yards, three touchdowns and an interception on 28- of-42 attempts for the Lions (4-5), who were riding a two-game winning streak coming into Sunday's action.

"We had to work hard the whole game to get anything done," said Detroit head coach Jim Schwartz. "We ran better in the second half and that opened up our passing game, but we didn't play well enough in any phase to win the game."

The Lions were trailing by 14 points early in the fourth quarter, but they made it a one-score game with a 6-play march that covered 80 yards as Stafford hit Titus Young from a yard out to make it a 24-17 game. An unnecessary roughness call on Minnesota and 25-yard catch by Johnson highlighted the drive.

Each team was then held to a three-and-out before the Vikings were able to put some distance thanks to Peterson. On the second play, he took a handoff down the right sideline and ran into the end zone on a 61-yard score.

Johnson fumbled a catch on Detroit's next touch and that led to a 33-yard field goal from Blair Walsh for a 34-17 advantage with 4:36 to play.

Johnson's second touchdown catch of the season came from 11 yards out with 1:53 to play, but Minnesota was able to kill the rest of the clock to seal the win.

Detroit had to punt on its first possession of the game thanks in part to an illegal block call on Ryan Broyles.

Minnesota faced a 3rd-and-10, but Ponder went deep and Jarius Wright came down with the ball on a 54-yard play to the 1-yard line. Two plays later, Wright caught a pass in the left corner of the end zone for a 7-0 lead.

The Lions' second possession went worse than their first as Stafford was picked off by Chad Greenway to give Minnesota the ball back at the Detroit 25.

Detroit's defense stood firm, though, and Minnesota got a 48-yard field goal from Walsh for a 10-0 lead.

Following an exchange of punts, Detroit put together an impressive drive to get on the board. Stafford was 4-for-4 for 52 yards and added a 9-yard run, but was sacked for an 11-yard loss on a 3rd-and-5 at the Minnesota 12 and Jason Hanson's 41-yard field goal made it a 10-3 game less than four minutes into the second quarter.

Minnesota again put together an impressive drive as Peterson had runs of 15 and 14 yards and the team got into the red zone. The Detroit defense, though, again held and a 23-yard field goal from Walsh with 4:41 to play made it a 13-3 contest.

Minnesota's second drive of the third quarter bore fruit as a 23-yard field goal from Walsh capped the 9-play, 43-yard drive for a 16-3 lead with 5:11 to play in the frame.

Detroit, though, came right back with its best drive of the game. After a 20- yard catch by Johnson, Stafford again looked for his big target and tossed the ball downfield. Johnson made the leaping catch for a 50-yard gain. Two plays later, Stafford found Brandon Pettigrew in the right corner of the end zone for a 16-yard score to make it a 16-10 game with 2:55 left in the third.

Minnesota answered with a march of its own. The 8-play, 62-yard drive was finished when Ponder found Kyle Rudolph out to the left and he took it down the sideline for a 20-yard score. Peterson ran it in for the 2-point conversion and it was a 24-10 game with 14:15 to play.

Game Notes

Minnesota will play at Chicago following the week off. Four of its final six games are on the road ... Detroit fell to 2-4 on the road, but the team begins a three-game home stretch next week against Green Bay ... Minnesota took both games against Detroit this season ... Rudolph finished the game with seven catches for 64 yards ... Mikel Leshoure, coming off a three-touchdown performance last week in Jacksonville, had 13 carries for 43 yards for Detroit ... Minnesota controlled the ball for almost 34 1/2 minutes ... Detroit went just 1-for-9 on third downs.