Wimbledon champion Murray won the opening set but the 22-year-old Dimitrov fought back to take the next two sets on tie-breaks to win 4-6, 7-6 (7-5), 7-6 (7-3) with the clock ticking past 2:30 a.m. local time.
The number four seed had never won a set in their three previous meetings and needed close to three hours to beat the 26-year-old Briton, who was trying to reach his first final since undergoing back surgery in September.
Murray, who suffered an early loss of serve in the final set, broke back with his opponent serving for the match at 5-4 but Dimitrov took control of the tie-break to close out the win.
World number 21 Anderson, who lost to Marin Cilic in the Delray Beach Open title match last Sunday, reached his second final in as many weeks with a hard-fought 6-1, 5-7, 6-4 win against Ukraine's Alexandr Dolgopolov in the other semi-final.
Dolgopolov, ranked 38th in the world, was also bidding for his second consecutive final after he lost to Rafa Nadal in the Rio de Janeiro Open final last week.
Image: Grigor Dimitrov
Photograph: Michael Dodge/Getty Images
Murray escapes to victory, Ferrer retires in Acapulco
Federer floors Djokovic in Dubai semis
Blow for Bhupathi as Sharapova, Li Na snub IPL-style tennis league
Late-night Cilic sets up Anderson showdown in Florida
Heavyweights see rankings shake up after Wawrinka win