Novak Djokovic fought back from a set down to defeat Juan Martin Del Potro and reach the final of the Barclays ATP World Tour Finals in London.
The world number one had looked in trouble when he went a break down in the second but Del Potro won only three of the last 14 games as Djokovic triumphed 4-6 6-3 6-2.
It is the first time the 2008 champion has reached the final since the tournament moved to the O2 Arena three years ago, and he will meet either Roger Federer or Andy Murray on Monday evening.
The sheer power of 6ft 6in Del Potro was pushing Djokovic to overhit in the opening set and, although he saved a break point in the seventh game, he faced two more a couple of games later and this time Del Potro struck.
The 24-year-old then served out the set to love, and he kept the momentum going at the start of the second set.
Djokovic saved three break points in the opening game but he was under pressure all the time and he had no answer to another monstrous forehand from Del Potro in the third game, the Argentinian raising his fists in the air as he broke for 2-1.
It seemed to be getting away from Djokovic but he roused himself, taking his fourth chance to hit back immediately when Del Potro for once missed a forehand down the line.
And the Argentinian won only one more game in the set as Djokovic levelled up, breaking for the second time at 4-3.
The effort of the first set seemed to have taken a lot out of Del Potro and he looked distinctly weary as he was broken once more in the third game of the decider.
In contrast, Djokovic had a spring in his step again and the end was a swift in coming, the top seed clinching victory in two hours and 12 minutes.