Grigor Dimitrov came from a set down to beat Jack Sock 4-6 6-0 6-3 and reach the decider of the ATP Finals.
The Bulgarian, ranked three places above world number nine Sock, gave up a 3-1 lead to lose the first set to the American, who surprisingly won the Paris Masters during a resurgent end to 2017.
But, after edging in front during a tight third set, it is Dimitrov who will contest the final against David Goffin.
The Belgian shocked heavy favourite Roger Federer in Saturday's first semi-final at the O2 Arena.
Both Dimitrov and Goffin will now feature in the final match of the ATP Tour calendar in London for the first time in their careers.
Dimitrov took charge of proceedings early on, playing a brilliant point by coming in on Sock's backhand, pushing his opponent out of position and then volleying into open court to earn the first break.
Sock saved a break point before holding with an ace down the T to get to 3-1 and then broke back when Dimitrov netted a rally ball.
And the momentum then swung as Sock moved through the gears, holding with newfound ease and drawing a long forehand error to see Dimitrov broken again in the ninth game.
The American brought up two set points and took the first of them when Dimitrov dragged an attempted backhand return from a second serve into the net.
The resilience that allowed Sock to come from behind and win the first set was nowhere to be seen in the second.
Dimitrov held confidently and then broke when Sock mishit a rally ball. He sent another careless forehand long two games later to give up a double break.
Sock came to the net and threw in some sliced drop shots during a rushed final service game in the second set, but then netted successive rally balls to gift Dimitrov an unexpected bagel.
It soon became apparent that Dimitrov would not have the third set all his own way, though, as Sock composed himself and began to attack his opponent's awkward slice with heavier forehands.
And the set duly stayed on serve until the eighth game, when an unfortunate net cord for Sock was followed by two double faults in quick succession that offered Dimitrov two chances to break.
The Bulgarian took the second of them with an inch-perfect forehand down the line to serve for a place in the final, which he secured with his fourth match point.
Dimitrov  bt Sock  4-6 6-0 6-3
Dimitrov – 25/33
Sock – 20/37
Sock – 3/5
BREAK POINTS WON
Dimitrov - 5/8
FIRST SERVE PERCENTAGE
Dimitrov – 64
Sock – 62
PERCENTAGE OF POINTS WON ON FIRST/SECOND SERVE
Dimitrov – 68/52
Sock – 62/45
Dimitrov - 91
Sock – 77
|Mourinho and squad ´united´ despite ´mixed´ start, says Woodward|
|Petaia and Gordon to make Wallabies debuts in Padova|
|Barcelona star Arthur determined not to let Xavi praise go to his head|
|Youthful Netherlands have forged strong bond - Wijnaldum|
|Premier League confirms £5m package for departing chief Scudamore|
|Thiem blasts past Nishikori to keep semi-final hopes alive|
|He´s always got time for me – Gerrard loved learning from Liverpool boss Klopp|
|Kearney and Ringrose return for All Blacks clash|
|Molinari on course for Race to Dubai title, Smith and Otaegui lead|
|Premier League to implement VAR from 2019-20 season|
|FSF urges Premier League clubs to reject Scudamore ´golden handshake´ request|
|Rhinos pull off Merrin coup|
|Ribery apologises for reporter altercation|
|Ford to captain much-changed England, Cokanasiga starts|
|Crotty replaces injured Williams for Ireland showdown|
|Classy Roshen gives Sri Lanka unlikely lead|
|Injured Lukaku out of Belgium-Iceland Nations League clash|
|Rooney ´passionate´ about future coaching career|
|Mehidy spins Tigers to victory despite second Taylor hundred|
|Rooney deserves special England day - Antonio|
|LeBron thinks back to his roots after latest milestone|
|Messi to return for Argentina next year - General manager Burruchaga|
|Walton salutes LeBron after he surpasses Chamberlain|
|Croatia´s Dalic and Modric not out for Spain revenge|
|Rondo to miss ´a few weeks´ with broken hand|
|Gabi, Juanfran hopeful over Oblak´s Atletico future|
|England rookie Wilson not comparing himself to Kane|
|WATCH: The baskets that moved LeBron James up the all-time NBA scoring list|
|LeBron moves into fifth on scoring list, 76ers fall in Butler´s debut|
|LeBron James into top five NBA scorers: Five quotes from league legends on his greatness|
|LeBron passes Chamberlain for fifth on all-time scoring list|
|Butler: 76ers need time to gel|
|South Africa lose 28-9 in Windies defeat|
|Delph impressed by ´special´ Sancho|
|Bolt may give up on football career despite ´a lot of offers´|
|We´re better than Dortmund – Wagner urges Bayern to respond|
|Raptors fans give former coach Casey standing ovation in return|
|Martinez hails Hazard leadership|
|Muller going through ´difficult´ period, says Low|
|Betances wants Yankees to sign Machado|
|Rays´ Snell, Mets´ deGrom win Cy Young Awards|
|Dinwiddie to debut Stan Lee-inspired shoes against Heat|
|Iberostar Tenerife and Segafredo Virtus Bologna stay perfect in BCL|
|Rooney wanted to finish career at Manchester United|
|Red Sox give manager Cora contract extension through at least 2021|
|WATCH: Ronnie O´Sullivan hits blue with calamitous break-off shot|
|Matuidi: Mbappe has a great personality, like Ronaldo, Messi and Zlatan|
|Cilic beats Isner to hand Djokovic semi-final spot|
|Mendy undergoes knee surgery|
|Warriors´ Curry will not play during three-game road trip|
|Ramos refuses to retaliate after Lovren jibe|
|Qatar pull off shock win over Switzerland|
|Tuilagi could make England return against Australia|
|Rooney has earned England reward - Sarachan|
|Croatia thrashing means nothing now – Luis Enrique|
|Chelsea and Everton among Arnautovic suitors, claims agent|
|TJ Watt hopes to win NFL sacks race with brother JJ|
|Modric defends Ramos after Lovren comments|
|Southgate hails ´outstanding´ Delph as he talks up England strength in depth|
|No war with Manchester United over Fellaini, insists Martinez|
|Rooney to wear number 10 shirt against USA and receive armband from Delph|
|I don´t feel pressure of Liverpool expectations, claims Klopp|
|Steelers´ Roethlisberger texted Bell but ´didn’t hear back´|
|Reus and Kroos to sit out Germany´s clash with Russia|
|Van Dijk happy to recommend De Ligt if Liverpool ask|
|Sauber announce launch of junior programme|
|No ´breathtaking tennis´ in Djokovic´s win against Zverev|
|Curran: England spinners will be key in Kandy|
|Djokovic charges past Zverev to move closer to ATP Finals progression|
|Messi is a football alien - Malcom|