The Serbian looked sluggish in the opening set, and was broken at 2-2. He did not win another game as the Uzbek showed composure to wrap it up 6-2.
However, Istomin cracked in the second set, dropping his first-serve percentage from 75% to 50%. That allowed Djokovic to take the set 6-4 and force a decider.
The world number one had to dig deep in the final set but came up with the goods, sealing his progress with an ace down the line.
He will play Richard Gasquet, whom he beat in last year's final, for a place in the last four.