Bedene, ranked 101, overcame the fourth seed 7-6 (7-3) 6-7 (3-7) 7-6 (7-2).
The British number four came from 5-2 down to force a tie-break and take the first set, but he was broken at the start of the second and the world number 35 went on to level the match.
Bedene broke early in the third set and, after three hours on court, prevailed in a third tie-break to win.
The Briton faces French fifth seed Benoit Paire on Friday.
Britain's Aljaz Bedene beat Slovakia's Martin Klizan to reach the quarter-finals of the Chennai Open in India.