Greek fifth seed Stefanos Tsitsipas reached his first French Open semi-final with a commanding straight-set victory over Andrey Rublev.
Both players competed fiercely in the opening stages but pressure seemed to get the better of the Russian 13th seed when he served for the first set.
Tsitsipas, 22, took advantage to turn the tide and earn a 7-5 6-2 6-3 win.
He will play top seed Novak Djokovic or 17th seed Pablo Carreno Busta for a place in Sunday's final in Paris.
Initially it looked as though the result would be a repeat of Rublev's victory in last month's Hamburg final, with the 22-year-old Russian in control in the first set.
Both players engaged in an intense battle from the outset and had opportunities to break early on, but it was Rublev who struck first to go 3-2 up.
The Russian, who reached the US Open quarter-finals last month, kept up a barrage of powerful baseline shots but his nerves began to show as he served for the set and a forehand long gave Tsitsipas a break back.
The 2019 Australian Open semi-finalist's level continued to increase as Rublev faltered and the 13th seed scooped another forehand long to give Tsitsipas another break and the first set.
The pair continued to offer entertaining rallies in the second set for the few fans allowed on Philippe Chatrier.
A string of unforced errors from Rublev and a net cord in Tsitsipas' favour allowed the Greek to go 4-2 up. Again the Russian faltered under pressure, driving a backhand long to give his opponent a two-set lead.
An increasingly fatigued-looking Rublev repeated the error to give Tsitsipas - winner of last year's ATP Finals - a 3-1 lead in the third.
A perfectly-angled drop-shot gave Tsitsipas match point on Rublev's serve but he could not convert and instead had to wait until the next game, where he completed the composed victory with a forehand volley.