Kevin Williams scored on an 18-yard interception return on the first play of the game and Chester Taylor ran 84 yards for a score as Minnesota mauled San Francisco 27-7.
It's the fourth straight win for the 7-and-6 Vikings, who move into the sixth spot in the NFC playoff picture.
Taylor's run was the third-longest in franchise history. He finished with 101 rushing yards while NFL rushing leader Adrian Peterson was held to a career-low three yards on 14 carries.
Tarvaris Jackson threw for 163 yards including a 19-yard scoring strike to Robert Ferguson.
49ers quarterback Trent Dilfer suffered a head injury shortly before halftime and was replaced by third-stringer Shaun Hill.
Hill led the Niners' only scoring drive of the game, throwing a five-yard touchdown to Arnaz Battle. San Francisco dropped to 3-and-10.
(Copyright 2007 by The Associated Press. All Rights Reserved.)