Top seed Novak Djokovic withstood a gutsy fight-back from Greek fifth seed Stefanos Tsitsipas to set up a French Open final against long-time rival Rafael Nadal on Sunday.
Djokovic, 33, missed a match point in the third set before eventually winning 6-3 6-2 5-7 4-6 6-1 at Roland Garros.
The Serb missed another match point in what was the final game before cracking a forehand winner to get over the line.
Nadal, who is going for a 13th title, beat Argentina’s Diego Schwartzman.
The top two seeds in the men’s draw will face each other for the 56th time in their careers – no two men have played each other more – and the ninth time in a Grand Slam final.
The match could also be pivotal in the long-running battle between Djokovic, Nadal and Swiss rival Roger Federer in determining which man finishes with the most Grand Slam titles.
If Nadal lifts the Coupe des Mousquetaires trophy yet again, it will see him equal Federer’s all-time leading record of 20 men’s majors.
Djokovic, whose only triumph at Roland Garros came in 2016, knows a victory will move him to 18 – within one more of Nadal and two adrift of 39-year-old Federer.