CHARLOTTE, N.C. -- Olindo Mare missed a 31-yard field goal attempt with 26 seconds left in the fourth quarter Sunday as the Minnesota Vikings hung on for a 24-21 victory over the Carolina Panthers at Bank Of America Stadium.

The Vikings had taken the lead on Ryan Longwell's 31-yard field goal with 2 minutes, 43 seconds remaining in the fourth quarter.

The victory is only the Vikings' second of the season and their first on the road. They will take a 2-6 record into their bye week. Carolina fell to 2-6.

Vikings quarterback Christian Ponder, making his second career start, got the victory in his matchup with Carolina's Cam Newton, the first pick overall in last April's draft. Ponder was taken 12th overall.

The Vikings got a tremendous break to win the game considering Newton completed a 44-yard pass to Brandon LaFell on fourth-and-15 from the Panthers 35-yard line on Carolina's final drive of the game. That gave the Panthers the ball at the Vikings 21-yard line with 1:09 remaining.

Newton completed a 7-yard pass to Legedu Naanee to get the ball to the Vikings 14.

An incompletion was followed by a third-down run by Newton that went for 6 yards. However, it was wiped out after wide receiver Steve Smith was called for holding and the Panthers wound up in a third-and-7 from the Vikings 18. Newton completed a 5-yard pass to Smith to set up Mare's field-goal attempt.

Ponder, who completed 18 of 28 passes for 236 yards with a touchdown, guided what turned out to be the winning drive in the fourth quarter, leading the Vikings 72 yards in 13 plays. That ate up 7:10 off the clock.

Ponder completed an 11-yard pass to wide receiver Percy Harvin on third-and-7, and a 15-yarder to wide receiver Devin Aromashodu on second-and-5. Ponder also had a 22-yard completion to Harvin on second-and-15 from the Vikings 44.

The skinny

The Vikings tied the score 21-21 late in the third quarter on running back Adrian Peterson's 9-yard touchdown run that capped a 12-play, 90-yard drive.

The drive included runs of 9 and 15 yards by Peterson and 12-yard completions by Ponder to tight end Visanthe Shiancoe and Peterson. The Shiancoe catch came with the Vikings facing a third-and-10 at the Carolina 42.

The Panthers had gone ahead with 11:07 left in the third when Newton found Smith on a 22-yard slant pass for a touchdown after the wide receiver had again beaten overmatched cornerback Asher Allen, who was starting in place of the injured Antoine Winfield and suspended Chris Cook.

Newton, who completed 22 of 35 passes for 290 yards with three touchdowns, also had a 24-yard run on the possession.

The score was tied at 14 at halftime.

Marcus Sherels opened the game with a 78-yard kickoff return to the Carolina 27, but the Vikings offense went three-and-out and Longwell missed a 45-yard field-goal attempt. It was Longwell's third miss of the season.

The Vikings quickly regained possession when E.J. Henderson sacked and stripped Newton of the ball on the Panthers' first play from scrimmage and Jared Allen recovered at the Carolina 16.

The Vikings used Harvin out of the backfield and gave him back-to-back carries. The first went for 6 yards and on the second Harvin went 10 yards for the score behind a nice lead block from rookie tight end Kyle Rudolph.

The Panthers tied the score early in the second quarter on Newton's 1-yard touchdown pass to tight end Jeremy Shockey. That completed a nine-play 90-yard drive, the Panthers' longest of the season.

The key play came when Newton completed a 26-yard pass to Smith that was originally ruled a touchdown by referee Ed Hochuli and his crew. However, replays showed that Smith was down at the 1-yard line and the call was overturned.

Smith made the catch as he was falling backward and with Allen all over him in coverage. The problem was Allen turned around a split second to late to break up the pass.

Carolina took the lead on its next possession.

The Panthers took over at midfield and on second-and-10 from the Vikings 39-yard line Newton found tight end Greg Olsen over the middle for a touchdown. Vikings safety Husain Abdullah was at the line of scrimmage in coverage on Olsen, but the veteran got by Abdullah and caught Newton's pass around the 12-yard line before racing into the end zone.

The Vikings appeared to be in position to tie the score late in the second quarter and had gotten to the Panthers 17. On third-and-11, Ponder completed a pass to Harvin at the Carolina 5-yard line.

However, Panthers cornerback Captain Munnerlyn took the ball away from Harvin before the receiver was down at the Vikings 5-yard line. Vikings coach Leslie Frazier challenged the call, thinking Harvin was down. But Hochuli upheld the decision after a review.

The Vikings weren't done.

Carolina got to its own 42 when Newton was again stripped of the ball as he was being sacked. This time it was Allen, who got his NFL-leading 12.5 sack. Linebacker Chad Greenway recovered at the Panthers 39.

Ponder didn't take long to get the Vikings into the end zone. He completed a 20-yard pass to Peterson and then a 19-yarder for a touchdown with 50 seconds remaining in the half.

Turning point

Harvin's fumble late in the first half deep in Carolina territory appeared to be a huge blow for the Vikings, but Jared Allen continued his outstanding season by getting the sack and strip of Newton and giving the offense the ball right back.

Ponder and Peterson made the most of the opportunity to tie the score and give the Vikings a positive to focus on in the locker room at halftime.

Numbers game

• -3: Rushing yards Adrian Peterson had on three carries at the end of the first quarter Sunday.

• 0: Rushing yards Peterson had on his first six carries Sunday.

• 14: Rushing yards Peterson had in the first half on eight carries. That was 2 fewer than Percy Harvin had on three rushing attempts. Peterson finished with 86 yards on the ground.

• 61: Receiving yards Peterson had in the opening half. That led the Vikings. He finished with a team-high 76 receiving yards.

• 61: Rushing touchdowns for Peterson in 69 career regular-season games, tying him with Eric Dickerson for the fourth-most in NFL history for a player's first five seasons.

• 29: Where the Panthers' run defense ranked in the NFL entering Sunday. Carolina had been giving up 133.4 yards per game on the ground.

• 10: Consecutive games with a sack for Vikings defensive end Jared Allen. That's the longest streak in Vikings history.

Health watch

• Cornerback Antoine Winfield was inactive for a fourth consecutive game because of a neck injury. That meant Asher Allen started for the second week in a row at left corner because Chris Cook has been suspended by the team.