Andy Murray beat Spain's David Ferrer for the first time on clay and reached his third French Open semi-final.
The Scot won 7-6 (7-4) 6-2 5-7 6-1 and will face world number one Novak Djokovic on Friday.
Murray missed a match point in the third set but dominated the fourth to extend his unbeaten run on clay to 15 matches.
"The third set was tough to lose having match point," said Murray. "The groundsman watered the court and I went to the bathroom to take a few minutes and get my composure back.
"It's going to be an extremely tough match against Novak. I'm going to need to play a high-quality match to have a chance."