Rafael Nadal lost his first semi-final on clay for 12 years as he was beaten by Fabio Fognini at the Rio Open.
Reigning champion Nadal, 28, started strongly but went down 1-6 6-2 7-5 in two hours and 17 minutes.
The defeat in Brazil ended a 52-match winning streak in semi-finals on clay for the Spaniard. Compatriot David Ferrer will face Fognini in the final.
"I'm really happy about this match. I beat the best player on this surface," said the Italian world number 28.
"Rafa is always difficult. From the second set I played really well, and I tried to change a little bit to be more positive on court."
Nadal's quarter-final win over Uruguayan Pablo Cuevas had finished at 03:20 local time on Saturday morning and the world number three was back on court on Saturday evening to face Fognini.
For Fognini it was a first win in five attempts over Nadal, who clearly tired as the match went on.
"I feel my tennis close, closer than a month ago, to the level that I want to arrive again," said Nadal, who has won 45 career titles on clay, including nine of the past 10 French Opens, but endured an injury-plagued second half of last year.
"The truth is that I lack physical continuity. I can't understand why, but I wasn't in good shape since the second set.
"I am getting tired earlier than usual and I had some cramps in several parts of my body. It's odd because in all my career I have hardly had cramp problems."
Fognini will be aiming for a fifth career title when he plays Ferrer.
"I'm super happy, and obviously on Sunday I will have to battle David, who has always beaten me," added Fognini.
Ferrer reached the final with a 7-5 6-1 win over Austrian Andreas Haider-Maurer.