Verdasco eventually beat the world number two from Serbia 7-6 3-6 6-4 in three hours 18 minutes to seal a semifinal berth and record his 12th win in 13 matches.
Verdasco lost in the final to Rafael Nadal in Monte-Carlo two weeks ago before winning the Barcelona Open last week.
Verdasco twice went up a break in a hard-fought opener but both times Djokovic pegged him back, once when he was serving for the set. The tie-break went 7-4 in the world number nine’s favor.
Djokovic hit back in the second set, giving Verdasco the runaround and breaking three times on his way to a 6-3 success.
But in the decider Verdasco broke Djokovic’s serve in the third game and held on through some long and dramatic rallies to claim it 6-4.