Tomas Berdych saved three match points on his way to beating titleholder Roger Federer 3-6 7-6 6-4 in the Dubai Championships semi-finals on Friday, setting up a showdown with world number one Novak Djokovic in Saturday's final.
Federer surged from 5-2 down in the second set but then fluffed three match points in the tiebreak before Czech Berdych forced a deciding set with a bludgeoned return winner.
In the final set, two miscued forehands and a double fault from Federer gave Berdych two break points at 2-2.
The Swiss saved the first with an ace but skewed another forehand wide to fall 3-2 behind and Berdych was able to serve out the match for a fifth win in his past eight meetings with Federer.
Earlier, Djokovic beat a stubborn Juan Martin del Potro 6-3 7-6, extending his winning streak to 17 matches.