Novak Djokovic booked his place in the final of the Dubai Tennis Championships after securing a 6-3 7-6 (7-4) victory over Juan Martin Del Potro.
The top seed took the first set in comfortable fashion but was put under pressure in the second, which featured four breaks of serve.
Three-time winner Djokovic will face either defending champion Roger Federer or Tomas Berdych in the final of the ATP 500 event.
Djokovic took the first set in just 36 minutes as his dangerous backhand kept Del Potro at bay, but the fourth seed hit back by breaking his opponent to go 3-0 up in the second.
However, a turning point came in the fifth game when, at break point down, the Argentine was angered after being called for a time violation and subsequently hit a forehand wide.
The Serb had won five games in a row by the time Del Potro regrouped, but the 2009 US Open champion kept his hopes alive by breaking Djokovic again to put the set on course for a tie-break, where Djokovic ultimately prevailed.
Djokovic is yet to lose this year and is on a 17-match winning streak stretching back to October 2012.
"I am proud of that record and of what I have done in my career. It's been more than successful and I am trying to cherish every moment I spend on a tennis court," Djokovic said.
"Juan Martin was very powerful, and when I was behind (in the second set) I needed to hang in there. I knew it was only one break and that I could pull it back."