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.