However, the four-time champion found himself trailing 4-1 in the first set as he had no answer to Ferrer's scorching returns.
But, Djokovic got his way back into the match when he broke Ferrer's serve in the seventh game of the set.
Djokovic did the same thing again on his way to clinching the first set.
The Serb broke Ferrer's serve early on in the second set in an attempt to take control of the match.
However, Ferrer refused to go down without a fight and managed to break back in the 10th game following an epic 10-minute rally.
But, Djokovic broke back in the next game and finished off the Spaniard to reach the last four.
Djokovic will face John Isner in the semi-finals after the American beat World number five Kei Nishikori 6-4, 6-3 earlier in the day.