The Australian Open champion, who said he had breathing problems in his quarter-final against David Ferrer, looked tired throughout the match but still managed to win 6-3 3-6 6-7 6-1 7-5 in four hours, 50 minutes.
The semi-final flirted with the record for the longest match at the Australian Open. Rafa Nadal beat Fernando Verdasco 6-7 6-4 7-6 6-7 6-4 in five hours, 14 minutes in 2009.
Murray had looked the more dominant throughout the first three sets as the Serb's fatigue became more apparent as he put little pace on the ball and was seemingly just willing to get it back into play and hope Murray made a mistake.
The match, however, turned in the fourth set when Djokovic raced through it in 25 minutes after he jumped out to a 4-0 lead when he conceded just four points.
He had raced to a 5-2 lead in the final set, but Murray fought back to level it at 5-5 and held three break points in the 11th game, before Djokovic fought back and then broke to seal his final place against Nadal.
(For more sports news and updates, follow Ahram Online sports on Twitter: @AO Sports)