World number one Novak Djokovic reached his first French Open semi-final since 2016 with a clinical win over German fifth seed Alexander Zverev.
The 32-year-old Serb, chasing his fourth straight Grand Slam, won 7-5 6-2 6-2 in their rain-delayed quarter-final.
Zverev, 22, failed to serve out the first set and it proved pivotal as Djokovic dominated from then on.
The 15-time Grand Slam champion will play Dominic Thiem in the last four.
Austrian fourth seed Thiem, last year's beaten finalist, secured his place in the semi-finals with a 6-2 6-4 6-2 win over Russian 10th seed Karen Khachanov.
Djokovic and Thiem are set to meet at about 15:00 BST on Friday, following the other, highly anticipated semi-final between Spain's defending champion Rafael Nadal and returning Swiss great Roger Federer.
Remarkably, it is the first time at a Grand Slam since the French Open in 2012 that Djokovic, Federer and Nadal have all made it through to the semi-finals.
However, Friday's play is expected to be disrupted by heavy rain in Paris, a forecast which has led to a reshuffle of the schedule.
After winning the Wimbledon, US Open and Australian Open titles, Djokovic is aiming to hold all four majors at the same time - for the second time in his career - by triumphing at Roland Garros.
Djokovic previously achieved the feat when he claimed his maiden title on the Paris clay in 2016, which saw him become only the second man after Australian great Rod Laver to hold all four Slams simultaneously in the Open era.
But 12 months ago, after form and fitness problems, the possibility of Djokovic putting himself in this position again seemed unlikely.
Now he is only two more wins away from another piece of history after cruising into the last four in Paris without dropping a set.
After losing serve for a 5-4 deficit in the first set, Djokovic suddenly raised his game to another level as Zverev was left suffocated by his relentless returning and court craft.
Three straight games swung the opener in the Serb's favour and he continued to wear down Zverev in the next two sets, pinning him deep in baseline rallies as well as stretching him with some deft drop-shots and lobs.
Zverev, aiming to reach his first Grand Slam semi-final, did not help himself by buckling under pressure at crucial times.
After failing to serve out the first set, a double fault on set point handed it over and, to gasps from the Chatrier crowd, he did the same on set point in the second - after already producing three others in the same game.
The pressure continued to tell as the German chased the match in the third.
A routine volley stiffed into the net gave another break point to Djokovic and that was followed by a poor drop-shot from the baseline as the Serb took a 4-2 advantage.
With defeat looming, Zverev managed to save one match point with an ace, but Djokovic clinched victory with his second by wearing his opponent down in a rally and forcing the error as a sliced backhand went long.
Zverev's victory against Djokovic in the ATP World Tour Finals in November seemed to indicate a Slam breakthrough could be around the corner.
Yet, when it mattered in the five-set format, Djokovic proved he is still the man to beat.