The Dolphins lost when 43-year-old kicker Gary Anderson, who didn't have a field goal longer than 44 yards all year, barely made a 53-yard kick with 17 seconds left.
The kick capped a 46-yard drive against a Dolphins defense that again failed to deliver on the road this season.
After leading 7-3 at halftime, the Dolphins allowed Minnesota to score on all three of its second-half possessions, as the Vikings put together drives of 78, 80 and 46 yards.
The Dolphins got a touchdown and a field goal on their first two drives of the second half, and tied the score on Olindo Mare's 25-yard field goal with about six minutes left.
After Anderson's kick, the Dolphins had time for only two plays and Jay Fiedler's two passes fell incomplete.
The loss dropped the Dolphins' record to 0-2 on the road this December, and 5-13 on the road in the final month of the season over the last 10 years.
Few losses were more frustrating than this one, particularly the way it began.
The Dolphins struck on their first possession, moving 80 yards on five plays.
After a 12-yard run by Ricky Williams and an 11-yard completion to James McKnight moved the ball to the Dolphins 41, Fiedler went up top to Chris Chambers. Despite being double-covered, Chambers easily made the catch and jogged the final 20 yards into the end to complete the 59-yard scoring play.
The Vikings marched deep into Miami territory on their first possession, but the Dolphins came up with a key turnover when Sam Madison picked off Daunte Culpepper in the end zone.
That set the tone for a first half during which Minnesota drove into Miami territory every time it had the ball but only came away with three points.
The Dolphins also had trouble hanging on to the ball in the first half, Fiedler throwing an interception and McKnight losing a fumble after making a short reception.
The turnovers kept the Dolphins from pulling away from the Vikings, and they wound up paying for it in the end.