SAN FRANCISCO (AP) -- After the 49ers schemed all week against Adrian Peterson, their plan to stop the NFL's leading rusher worked splendidly -- and that was the extent of San Francisco's successes in another big win for the resurgent Minnesota Vikings.
Though, to be fair, nobody could have planned for a game that began with a 311-pound man returning an interception for a touchdown on the very first play.
Defensive tackle Kevin Williams rumbled into the end zone just 14 seconds in, and Chester Taylor made an 84-yard scoring run in Minnesota's fourth straight victory, 27-7 over hapless San Francisco on Sunday.
Though Peterson managed just 3 yards on 14 carries, the Vikings (7-6) still jumped to a 27-0 halftime lead while getting back above .500 for the first time since the season's opening week. Minnesota is in the sixth spot in the NFC playoff picture, controlling its own destiny in a season that nearly went out of control.
"I think if you told our guys a month ago that they were going to be the hunted instead of going hunting, they probably would have asked you, 'Well, how's that going to happen?' " Minnesota coach Brad Childress said.
With patient offense and another strong game from a resurgent defense, that's how -- and even without help from Peterson. San Francisco linebacker Patrick Willis made eight tackles to win the meeting of two high-profile rookies.
Robert Ferguson caught a 19-yard TD pass from Tarvaris Jackson, who passed for 163 yards. Minnesota's only dynamic offensive play was Taylor's TD run, the third-longest in franchise history and the bulk of his 101 yards rushing.
Yet nothing fancy is necessary to beat the 49ers (3-10) these days.
"We weren't trying to force anything," Peterson said. "Chester is capable of coming out and having big games, too. You can't just focus on one guy on our team."
Frank Gore rushed for 68 yards, caught eight passes for 49 yards and lost two fumbles for San Francisco, which has yet another injured quarterback after its 10th loss in 11 games. The Vikings defense turned in its third straight solid performance, limiting the 49ers' league-worst offense to 79 yards in the first half.
"Trent's just a warrior, one of the best guys I've ever met in the game or out of the game," Hill said. "That being said, I had a job to do when I got in there, and I was excited."
Dilfer's day was painful from the first snap. Williams, the Vikings' two-time Pro Bowl defensive end, was able to hang on to his own deflected pass and had the presence of mind to run with it.
"That really changed the momentum in the game," Williams claimed. "We do a tip drill every week, and it paid off today, as you saw."
Williams eluded Dilfer for the fourth touchdown of his career. It was even his second of the season, following a 54-yard return on Atlanta's first possession in the Vikings' season opener.
"It's rare to get one of those in a career, and he's had two in a season," Childress said. "I'm just glad he didn't have to run as far on this one so we didn't have to get him some oxygen."
Taylor made the third-longest run from scrimmage in Vikings history in the second quarter, breaking at least three tackles down the Minnesota sideline and sparking boos from the thin Candlestick Park crowd.
"I thought our defense stepped up to the challenge," 49ers coach Mike Nolan said. "They did give up some plays a couple times on some missed tackles. The 84-yard run was one in particular. It was right in the face of a blitz. How it came out, I do not know."
Dilfer was hurt when he scrambled for a first down in the final minute of the first half. Backup cornerback Charles Gordon made the tackle with a shoulder to Dilfer's head.
With Alex Smith in street clothes because of his injured shoulder, San Francisco turned to Hill, who spent four years with Minnesota before joining the 49ers last season. Hill's only regular-season snaps were kneeldowns on the Vikings' final plays in 2005.
Hill immediately led a 12-play, 61-yard scoring drive culminating in Arnaz Battle's short TD catch, completing six of his first seven passes and celebrating jubilantly in the end zone -- but he threw an interception on the Niners' next drive.
Taylor also made the longest run in Minnesota history last season, romping 95 yards against Seattle. ... Nolan said the 49ers haven't decided whether QB Alex Smith will have season-ending shoulder surgery next week, contrary to a media report. ... San Francisco's Maurice Hicks returned two kickoffs for 55 yards apiece.
Vikings safety Harrison Smith has been ruled out of Sunday's game against Julio Jones and the Falcons because of a knee injury.
Brian Hoyer and DeAndre Hopkins have the attention of a Saints defense that's on pace to allow the highest opponents' passer rating in NFL history.
Suspended Browns receiver Josh Gordon weighed in on the Johnny Manziel situation via Twitter early Saturday morning.
Danny Amendola did not travel to Denver and won't play Sunday against the Broncos, according to reports, leaving the injury-plagued Patriots without another option at wide receiver.
The Chargers are getting healthy on defense and need to see improvement from a unit that has struggled much of the season.
The Bengals must slow Rams rookie Todd Gurley, who has topped 100 rushing yards four times this season, but has struggled recently.