Daniil Medvedev withstood a superb fightback from home favourite Jannik Sinner to win a third straight match at the ATP Finals in Turin.
The world number two, who had already booked his semi-final slot with victory over Alexander Zverev on Tuesday, saved two match points on his way to a 6-0 6-7 (5-7) 7-6 (10-8) win in two hours and 32 minutes.
Medvedev committed just three unforced errors in a sublime opening set, wrapping it up with the minimum of fuss in 26 minutes.
A shell-shocked Sinner soon found his composure, though, and after a bruising hour and five minutes took the second set in the tie-break.
The Italian powered into a 4-2 lead in the decider, yet Medvedev fought back and sealed victory in the tie-break with a backhand winner on his second match point.
Reigning champion Medvedev will face either Casper Ruud or Andrey Rublev in the last four, with the pair facing off on Friday in the Green Group.
ACES/DOUBLE FAULTS
Medvedev – 18/5
Sinner – 5/2
BREAK POINTS WON
Medvedev – 5/11
Sinner – 2/5