By DAVE CAMPBELL, AP Pro Football Writer
MINNEAPOLIS (AP) -- Percy Harvin had the Tennessee Titans asking for mercy.
There's no let-up in his game, though, and the Minnesota Vikings aren't slowing down, either.
Harvin had one touchdown rushing and another receiving to help the Vikings keep up their commanding start to the season with a 30-7 victory over the Titans on Sunday, their first three-game winning streak in almost three years.
Harvin caught eight passes for 108 yards for the Vikings (4-1), who have given up a combined 33 points in winning three straight games. Christian Ponder threw his first two interceptions after 143 attempts without one this year, but he still finished 25 for 35 for 258 yards and two scores against the reeling Titans (1-4), the latest team that couldn't contain Harvin.
"You're in awe watching him," Ponder said.
Harvin's second score put the seal on this one, a highlight-reel catch and run to add to his already-impressive collection of video clips. Grabbing a quick pass at the line of scrimmage -- it's called a "bubble" screen play -- Harvin used the same hesitation move twice to get overeager defenders to fly past him before bouncing into the end zone. He said afterward some of the Titans players were pleading with him to slow down.
"Around here we count for every yard," Harvin said. "In all our meetings, if you run out of bounds, you're going to have a coach look at you funny. We want every yard. Every yard's precious. The yard is hard to come by, so I want all of them."
Adrian Peterson charged his way for 88 yards on 17 carries for the Vikings, another strong performance on his surgically repaired left knee. That was a stark contrast to the 24 yards Chris Johnson managed on 15 tries, often stutter-stepping at the line, trying fruitlessly to find room.
"It doesn't look good right now. I know we're better than it looks, but we are how we play," said Matt Hasselbeck, who threw for one late touchdown pass in place of injured starter Jake Locker. "The only thing I can say that I know for sure is I know we can fix it."
The Titans host Pittsburgh on Thursday night.
"You don't have time to feel sorry for yourself," coach Mike Munchak said, adding: "Maybe that's the best thing for us, that we're playing in four days against a good team."
Hasselbeck was intercepted by Antoine Winfield in the second quarter, setting up Vikings rookie Blair Walsh for the first of his three field goals.
"It's hard to come up with answers when you keep getting the same results," said tight end Jared Cook, who had the only touchdown catch.
Ponder was picked off by Robert Johnson right in front of the goal line near the end of the first half and by Jordan Babineaux on the first play of the third quarter, but he went 12 for 13 after that, finding Kyle Rudolph in double coverage in the fourth quarter to give the Vikings their highest score this season.
"I shook it off and moved on. That's part of the role," Ponder said.
Ponder didn't complete a pass longer than 29 yards in any of the first four games, but he floated a perfect pass up the sideline to Harvin for a 45-yard gain in the first quarter. The fourth-year do-it-all wide receiver then took an inside handoff and pounded his way into the end zone four plays later from 4 yards out.
Throw in last week's opening kickoff return for a touchdown, and Harvin is building a case to be a non-traditional Most Valuable Player award candidate. Not bad for a guy who asked for a trade during minicamp in June. Coach Leslie Frazier helped talk him through his frustration this summer.
"To bring a championship to Minnesota, that's exactly what he wants and that's what I want," Frazier said. "And as long as all our players feel the same way, there are no problems that we can't work through."
NOTES: Peterson rolled his left ankle on the second play of the game, blaming that for distracting his focus. "I came out and did all right in the second half, but I've just got to do better," said Peterson, whose runs of 34 and 22 yards were his two longest of the season. Backup Toby Gerhart had a 22-yard gain, too, also his longest of the year. ... Titans RB Javon Ringer hurt his left knee and left on a cart in the fourth quarter. ... Vikings WR Jerome Simpson was bothered by soreness near his left ankle that kept him from pushing off and didn't have any catches. "He did a pretty good job, but he wasn't himself," Frazier said. ... Titans WR Kenny Britt was active despite being hampered all week by a sprained left ankle. He was targeted five times but had just two catches for 23 yards. ... Vikings SS Harrison Smith was ejected for shoving back judge Steve Freeman out of the way after Freeman tugged Smith away from a tussle with some Titans players. Smith apologized afterward. "I should never have been there," he said.