Croatia's Marin Cilic prevailed in a fifth-set tie-break against Russian seventh seed Andrey Rublev to reach his first French Open semi-final.
Cilic, the 20th seed, won 5-7 6-3 6-4 3-6 7-6 (10-2) in a captivating four-hour match on Court Philippe Chatrier.
He fired down 33 aces and 88 winners to edge a heavy-hitting contest in Paris.
The 2014 US Open champion, 33, will meet Norwegian eighth seed Casper Ruud or Danish teenager Holger Rune for a place in the Roland Garros final.
Cilic becomes only the fifth active men's player to reach the semi-finals of all four Grand Slam tournaments.