South Africa's Lloyd Harris rallied from a set and a break down on Friday to beat Denis Shapovalov of Canada 6-7 (5/7), 6-4, 7-6 (8/6) and earn a place in the Dubai final.
The 24-year-old Harris is the first qualifier to make the final at the tournament, having taken out US Open champion Dominic Thiem and Kei Nishikori in previous rounds.
He will bid for his maiden ATP title against Andrey Rublev or Aslan Karatsev. He lost to Rublev in straight sets last year in Adelaide in his only previous tour-level final.
"I don't have many words right now. I am super happy with that win," Harris said.
"Being a set and 2-4 down is mentally and physically a little bit troublesome for me, but I found my best tennis from there. I am just extremely happy with the result right now."
Third seed Shapovalov appeared on course for victory after shading a first set tiebreak and then breaking Harris in the fifth game of the second set.
However the Canadian, who hadn't dropped serve all week, committed a string of unforced errors and was broken twice in a row as Harris forced a final set.
Both players held serve throughout the decider before Harris triumphed on his second match point in another tiebreak.
Dubai ATP results on Friday (x denotes seeding):
Lloyd Harris (RSA) bt Denis Shapovalov (CAN x3) 6-7 (5/7), 6-4, 7-6 (8/6)