Murray, seeded second in Miami in the absence of Roger Federer, found himself 5-2 down in the opening set as Dimitrov made a blistering start to the match.
But ultimately the Bulgarian 21-year-old was let down by his mental strength, slapping down three double faults in the one game when he attempted to serve out the opening set. He had done the same in Indian Wells just two weeks ago when he hit four consecutive double faults while serving for the opener against world number one Novak Djokovic.
But even after being let off the hook in that seventh game of the opening set it was far from straightforward for Murray as he struggled with his serve, managing to land just 58 per cent of his first serve.
But the Scot eventually made his experience tell, forcing his way back into the match with three straight games getting him back on level terms before he pushed the first set into a tie-break.
Again Murray was the more solid player in the breaker, running away with things after the change of ends and sealing the first set at the first attempt when Dimitrov sent a forehand sailing long beyond the baseline.
The 2009 Miami champion capitalised on his momentum, breaking in the second game of the second set, when Dimitrov sent a backhand long, before edging towards the victory.
Dimitrov continued to cause Murray problems on serve and even held a break back point in the final game of the match, landing a forehand right on the baseline.
But Murray was in no mood for the contest to be extended, saved the break point with an ace before booking his place in the last 16 when Dimitrov netted a backhand.
"It was way cooler today with much slower conditions," Murray said. "I was leaving the ball a bit short. Once I started to improve my depth a bit, I made it tough for him."
Next up for Murray will be 16th seed Andreas Seppi, the Italian surviving a strong challenge from Thomaz Bellucci to progress 7-5 4-6 6-2.
Fourth seed Tomas Berdych overcame an even bigger hurdle than Murray, eventually beating Colombian Alejandro Falla 2-6 7-6(6) 6-4.
Falla was painting the lines off both the forehand and backhand wings as he opened up a set and a break lead in less than an hour on the Grandstand court.
But Berdych slowly battled his way back into the match, saving a match point at 2-6 2-5 with a second serve ace that caught the very back of the service line.
The Czech was forced to save a second match point in the tie-break, again finding a big second serve when he really needed it - the Colombian this time netting a forehand return.
From there Berdych's experience was the most telling factor, the Czech world number six increasingly turning momentum in his favour and serving out the match at the first attempt, despite being forced to first save a break point in the final game of the match.
Berdych, a semi-finalist in Indian Wells last week, will next face 17th seed Sam Querrey. The American was handed his place in the last 16 when 14th seeded Canadian Milos Raonic was forced to withdraw from the tournament with a fever.
Berdych was joined in the fourth round by sixth seed Jo-Wilfried Tsonga.
The Frenchman had a much easier time of it, easing past veteran Finn Jarkko Nieminen 6-3 6-3 to set up a meeting with ninth seed Marin Cilic.
Croat Cilic took advantage of some uncharacteristically sloppy serving in the first set by John Isner to claim a 6-3 7-6(3) victory over the 20th seeded American.
Completing the fourth round line-up is eighth seed Richard Gasquet and 10th seed Nicolas Almgaro.
Gasquet produced a mature performance to beat mercurial Russian Mikhail Youzhny 6-3 6-4 in the first match of the day, while Almagro bullied his way past slight Belgian David Goffin by the same scoreline.
Third Round Results:
9-Marin Cilic (Croatia) beat 20-John Isner (U.S.) 6-3 7-6(3)
17-Sam Querrey (U.S.) beat 14-Milos Raonic (Canada)WO
4-Tomas Berdych (Czech Republic) beat Alejandro Falla (Colombia) 2-6 7-6(6) 6-4
6-Jo-Wilfried Tsonga (France) beat Jarkko Nieminen (Finland) 6-3 6-3
2-Andy Murray (Britain) beat 29-Grigor Dimitrov (Bulgaria) 7-6(3) 6-3
16-Andreas Seppi (Italy) beat Thomaz Bellucci (Brazil) 7-5 4-6 6-2
10-Nicolas Almagro (Spain) beat David Goffin (Belgium) 6-3 6-4
8-Richard Gasquet (France) beat 28-Mikhail Youzhny (Russia) 6-3 6-4