Dolphins cornerback Xavier Howard broke the game open in the third quarter with a forced fumble which he turned into a 49-yard touchdown.
Neither offence came out swinging in a gruelling first half which saw Miami take a 6-3 advantage into the break.
Miami’s starting quarterback Jacoby Brissett was substituted for Tua Tagovailoa early in the second half, with the Dolphins extending their lead to 9-3.
The end zone was finally crossed in the first drive of the final period, when Dolphins cornerback Xavien Howard forced a fumble and returned it for a 49-yard touchdown.
A late boilover looked to be on the cards when the Ravens hit back with a short-range touchdown, but Tagovailoa responded with a one-yard run into the end zone to cement a second straight win for the Dolphins.
Tagovailoa finished with 158 yards from his second-half stint, while Baltimore quarterback Lamar Jackson threw for 238 yards and a touchdown, as well as one interception.