Rafael Nadal booked his spot in the last four at the ATP Finals with a three-set win over defending champion Stefanos Tsitsipas, who bowed out of the tournament.
With a place in the semi-finals on the line for the victor, Nadal prevailed 6-4 4-6 6-2.
The Spaniard will face Daniil Medvedev for a spot in the final.
'Image not the best' - Nadal criticises Djokovic for 'strange' racket smash tantrum
The opening two sets were a tale of two double-faults. First, Tsitsipas gifted Nadal the opportunity to serve out the opener after cracking to slip 5-4 behind, with the Spaniard obliging.
But it was the reverse story in the second as Nadal, unflappable on serve to this point, missed the line unexpectedly to invite his opponent back into the contest when set-point down.
The decider was littered with service breaks – including three consecutively at the start – before Nadal grabbed the initiative and raced home.
"I think I played quite well for such a long time. That game at 5-4 in the second set affected me a little bit, but then I was able to get the break early in the third, then he broke me and I broke again," said Nadal afterwards.
"I was winning serves quite comfortably until that moment, after that everything changed and I started to serve worse.
"But in general terms it was a positive match for me. To reach the semi-finals in the last tournament of the year is an important thing."
Rafael Nadal hopes ‘this year will be different’ as he aims to win first ATP Finals title
Nadal has never won the season-ending tournament but is now just two matches from the title.
The Spaniard needed a win to progress having arrived with one victory and one defeat, against Andrey Rublev and Dominic Thiem respectively, in his opening two matches in Group London 2020.
ATP Washington, DC
Djokovic can still complete the Grand Slam, says Nadal
Osaka crashes out to clinical Vondrousova, Tsitsipas through