Novak Djokovic out-fought Alexander Zverev to qualify for the last four at the ATP Finals on Friday.
The Serbian top seed, who was beaten comprehensively by Daniil Medvedev in his second round-robin match, was again below his best in London but did enough to win 6-3, 7-6 (7/4).
In the evening match at the elite eight-man event, which was a dead rubber, Russian fourth seed Medvedev beat debutant Diego Schwartzman 6-3, 6-3.
In a repeat of the 2018 championship match, Djokovic saved all three break points he faced to gain revenge against the German, and will face Group London 2020 winner Dominic Thiem in the semifinals on Saturday.
Medvedev, who topped Group Tokyo 1970, will meet Spanish second seed Rafael Nadal in the other last-four clash at the empty O2 Arena.
It means the four top-ranked players in the world have made it through to the knockouts.