MINNEAPOLIS -- After another flat first half by Brett Favre and the Minnesota Vikings, Randy Moss riled them up and Percy Harvin heeded the message.

The Dallas Cowboys went home again unhappily, wondering what is happening to what was supposed to be a special season.

Harvin's 95-yard kickoff return for a touchdown was just the spark the Vikings needed to overcome another uneven offensive game in a 24-21 victory over the Cowboys on Sunday.

"We were desperate. You heard the panic word all week," said E.J. Henderson, who intercepted Tony Romo twice to set up 10 points for the Vikings.

The Vikings (2-3) won this matchup of preseason NFC favorites, though even in defeat the Cowboys (1-4) could still wind up as contenders in a mediocre conference in which all of the 16 teams already have at least two losses.

This was hardly consolation for the Cowboys, who will watch another team win the Super Bowl on their home turf if they can't stop all this self-inflicted damage. It wasn't just Romo. They had 11 penalties for 91 yards, and the strategy on both sides of the ball seemed out of sync.

"We beat ourselves one more time," wide receiver Roy Williams said. "How many times are we going to do it?"

Favre had a cortisone injection earlier in the week that helped his ailing elbow feel better, but he took a bunch of big hits from a fierce Cowboys rush. Coach Brad Childress wasn't concerned: "We're paying him enough a game. He's going to get hit."

Finishing 14 for 19 for 118 yards, one touchdown and one turnover, Favre was at least more on target than the week before. Though the one fumble in the first quarter was charged to Favre for his 11th turnover this season, Childress blamed that on Adrian Peterson for not fully closing his arms around the ball.

Still, Favre looked skittish at times and was hit on eight of his first 10 dropbacks, taking three sacks. One of them lost 12 yards on third-and-7 at the Dallas 30 when he did a pirouette around the pocket instead of getting rid of the ball. That pushed the Vikings out of field-goal range midway through the third.

But Harvin's huge return and Peterson's short touchdown plunge put the Vikings ahead 21-14, and the defense did enough to preserve an important victory. Favre downplayed another low-production performance.