1 of 5
Nell Redmond, Associated Press
Minnesota Vikings' Adrian Peterson (28) runs for a touchdown as Carolina Panthers' Greg Hardy (76) pursues during the second quarter of an NFL football game in Charlotte, N.C., Sunday, Oct. 30, 2011.

CHARLOTTE, N.C. — The Minnesota Vikings were desperate for a victory and rookie Christian Ponder delivered, with a little help from NFL-leading rusher Adrian Peterson.

Ponder won his matchup with fellow rookie Cam Newton, throwing for 236 yards and a touchdown to lift the Vikings to a 24-21 victory over the Carolina Panthers on Sunday.

Peterson had 162 yards from scrimmage and scored two touchdowns as Minnesota (2-6) snapped a two-game losing streak.

"This is something for the team to continue to build off of," Peterson said. "That was our goal: to come in and get this one, and have some time to relax during the bye week. We'll have some time for guys to recover, and then come back focused. It would have been rough going in 1-7, so it was great to get the win."

Ponder showed tremendous poise in the pocket, particularly on third downs.

He engineered a game-winning drive in the fourth quarter leading to Ryan Longwell's 31-yard field goal. The Panthers had a chance to tie the game with 26 seconds left, but Olindo Mare missed wide left from 31 yards.

Ponder, the 12th overall pick in the draft, completed 18 of 28 passes to beat Newton, the first choice in the draft. Ponder moved the chains with key completions on third downs in the second half to keep scoring drives alive.

"It's satisfying to get a win no matter what," Ponder said. "Cam played extremely well. He had three touchdown passes, and a big drive there at the end. Fortunately, the ball bounced our way with the missed field goal."

Peterson bounced back from a slow start and scored on a 9-yard run to tie the score at 21 late in the third quarter. He ran for 86 yards and had five catches for 76 yards, including a 19-yard touchdown reception in the second quarter.

"They kept dropping deep and leaving him open," Ponder said. "I kept taking it. ... I'll take that all day."

Newton threw for 290 yards and a career-high three touchdowns, but the Panthers (2-6) again failed to finish in the fourth quarter. It was their fifth loss by seven points or fewer this season.

The Panthers had their chances. Carolina went three-and-out on three straight possessions in the second half and watched their lead slip away.

But after Longwell's field goal gave the Vikings the 24-21 lead, Newton seemed poised to lead a memorable comeback. He completed a 44-yard pass to Brandon LaFell on fourth-and-15 to reach Vikings territory. The Panthers appeared to reach the 7 on a first-down run by Newton, but the play was called back because of a holding penalty on Steve Smith.

"I got a few texts saying already in the HD it didn't look too bad," Smith said of the official's call. "For a 70-year-old man gimping down the field, I guess that's what he saw."

Newton went back to Smith on the next play, but he was stopped short of the first down. Mare's kick sailed wide left and the home crowd groaned before heading to the exits.

"Whoever thinks that this game came down to the last possession is a fool," Newton said. "Offensively and defensively, we had opportunities, man."

Minnesota's defense came up with some timely turnovers, jarring the ball loose from Newton on a pair of blindside hits; both fumbles led to first-half touchdowns.

Still, the Panthers led 21-14 after a 22-yard touchdown catch by Smith in the third quarter. But Carolina's offense sputtered most of the second half — going three-and-out on three straight possessions. The Vikings tied the game on Peterson's ninth touchdown rushing this season late in the third quarter.

"I got more involved in the passing game today," Peterson said. "The first half was critical. Carolina was stacking the box and slowing down the run. I was able to get around the perimeter on a checkdown. Christian did a great job of finding me."

Minnesota took the lead for good on a 13-play, 72-yard drive in the fourth quarter that took 7:10 off the clock.

Smith, who came into the game leading the NFL in yards receiving, had seven catches for 100 yards. Tight ends Jeremy Shockey and Greg Olsen also had touchdown catches for Carolina.

Jared Allen, who entered the game leading the NFL in sacks, had a big game for the Vikings with five tackles, a sack, a forced fumble and a fumble recovery. Percy Harvin had four catches for 58 yards and scored on a touchdown run for the Vikings.

Notes: Allen has a sack in 10 straight games. ... The Panthers were already thin at linebacker coming in and lost Jason Phillips (calf) and Thomas Williams (neck) to injuries on Sunday. Both left the game and didn't return. ... Panthers DE Charles Johnson has a sack in seven of Carolina's eight games and 15 sacks in his last 15 games. ... Panthers cornerback Darius Butler missed the game to be with his daughter, who had open-heart surgery earlier this week. She had a setback on Friday, but is doing better, according to team officials.