The Vikings won their fourth consecutive game to move to 5-1 on the season. They led 10-3 at halftime and by the same score entering the fourth quarter.
But the Vikings scored two touchdowns in the fourth quarter, while getting two takeaways from the Dolphins in the final period.
Minnesota won 24-16 after the Dolphins got a touchdown with 1:24 remaining. Miami fell to 3-3.
Camryn Bynum recovered the onside kick with 1:23 left to secure the win for the Vikings.
Dalvin Cook rushed for 77 yards on 13 carries, including a 53-yard touchdown run that gave the Vikings a two-score lead with 3:15 remaining following Jaylen Waddle’s fumble.
Waddle caught a 14-yard pass from Teddy Bridgewater to the Minnesota 28 when, while trying to make more of it, lost control of the ball. Bynum recovered for the Vikings.
Two plays later, Cook was in the end zone.
The Dolphins outgained the Vikings 458 yards to 234, but Miami had three turnovers and 10 penalties for 97 yards.
The Dolphins lost rookie quarterback Skylar Thompson in the first half after Thompson injured his thumb. It is the fourth consecutive game Miami has lost its starting quarterback.
Bridgewater went 23-of-34 for 329 yards with two touchdowns and two interceptions. Tyreek Hill had 12 receptions for 177 yards and Waddle caught six for 129. It wasn’t enough.
Kirk Cousins completed 20 of 30 passes for 175 yards and two touchdowns, with Justin Jefferson catching six for 107.