Rafael Nadal needed to produce one of his most stunning performances on clay on Saturday to edge an injured Andy Murray 6-4, 2-6, 6-1 and book a place in the final of the Monte Carlo Masters.
For the 15th time in the last two decades, a Spaniard will figure in the title match at the Country club, with six-time winner Nadal bidding for a seventh straight title here against compatriot David Ferrer.
The Spanish fourth seed earlier ended the surprise run of Jurgen Melzer 6-3, 6-2, a day after the Austrian had put out Roger Federer.
Nadal needed just shy of three hours to go past Murray, who was reportedly nursing an injured right elbow and who received treatment in the third set after putting up a titanic struggle in the first two sets.
The Spanish world number one did lose his first set in Monte Carlo since the 2009 final against Novak Djokovic, however, as Murray turned in a fighting effort.
"It's a fantastic victory for me," said Nadal. "It was a very, very difficult match. It's a dream to get to another final here.
"This is a great start to the clay season. I'm very pleased, it's good for me."
Nadal has now won 36 straight matches in the principality heading into his clash with Ferrer, who he has beaten 11 times in 15 encounters.
Murray fought a 65-minute opening set, going down in the end but rallying well in the second with an attacking game that left Nadal puzzled as to the best response.
Murray won a marathon 19-minute game, saving five break points for a 3-1 lead and finally levelling the match after a huge effort.
But as a pre-match pain-killing injection began to wear off, Murray's level dropped, with Nadal able to close out a hard-fought win with little resistance in the deciding set.
"I didn't know up until (the final minutes) whether I was going to play or not," said Murray.
"I had a cortisone injection local anaesthetic in my elbow before the match.
"I've never had any problems with my elbow before. Yesterday, at the beginning of the second set (in his quarter-final), I felt something, but I managed to play through it.
"This morning I was hitting, warming up fine. I went to hit some serves; I couldn't serve.
"I'm happy that I gave it my best, but I think I can do better," he said, before revealing that the effects of the injection began to wear off after roughly two hours and 40 minutes of the match.
"It was disappointing because I felt like I was playing well. I have to see how it feels tomorrow and what I do from here."
Ferrer doused cold water on Melzer's dream run after the Austrian had stunned Federer in the quarter-finals.
"Maybe the key was in my serve," said Ferrer.
"I played very consistent and didn't make mistakes. I was very regular and very focused all the match. I'm very pleased to be in the finals of a Masters 1000."
Ferrer was playing a Monte Carlo semi-final for the second straight year.
Melzer, seventh on the ATP, was the first Austrian to reach the semis here since Thomas Muster won the title 15 years ago.
"I think out of the first five games, I should have won all five of them," said Melzer. "You could see in the beginning he didn't feel comfortable at all.
"The longer the match went on, the more comfortable he felt and the discomfort I felt," said the Austrian, who said the neck pain that forced him off court for treatment against Federer was not a problem on Saturday.
"If you're in the semi-finals, you want to win no matter who you beat the day before."
The Austrian began strongly with a break but lost his way as Ferrer's steady game paid dividends to frustrate his opponent.
Melzer lost the first set in 38 minutes and went down two breaks in the second.
He saved a match point before Ferrer advanced on his second chance from a Melzer unforced error.