The Bulgarian had lost six of the previous eight meetings between the pair, but came from behind to overcome Murray 6-7 (1-7) 6-4 6-3 at the ATP 1000 event.
Dimitrov overcomes Murray
Grigor Dimitrov battled past Andy Murray in a tight three-setter in the Miami Open third round on Monday.
World number two Murray had appeared on track to continue his dominance, only to give up a 3-1 lead in the third set.
It marked a second-straight third-round exit for Murray, who finished with 50 unforced errors, since he went down to Novak Djokovic in the Australian Open final.
The duo traded early breaks before Murray won 11 of 13 points to finish the first set, only for a poor start to the second to see him fall behind.
That allowed Dimitrov to level the match, but Murray made the better start to the third set by breaking for 3-1.
However, Dimitrov fought back again and Murray sent a backhand long to fall 4-3 behind as he lost five straight games.
Next up for Dimitrov will be either Gael Monfils or Pablo Cuevas.
JOIN OUR PULSE COMMUNITY!
Eyewitness? Submit your stories now via social or:
Email: eyewitness@pulse.com.gh