Unseeded Argentine David Nalbandian beat Novak Djokovic 6-4 7-6 to book a place in his first final of the year at the Madrid Masters.
Nalbandian has dropped out of the world's top 10 to 25th this season
Nalbandian, 25, who beat Spain's Rafael Nadal in the quarter-finals, broke Djokovic in the third game before holding out to take the first set.
And after a tight second set he wrapped up victory 7-4 in the tie-break.
Nalbandian will meet defending champion Roger Federer in Sunday's final after he defeated Nicolas Kiefer 6-4 6-4.
The world number one had a dozen break-point chances against the veteran German but was only able to convert two in a low-key encounter.
"We had a siesta out there in the first set, there was not much to excite the crowd. It was very subdued and with not a lot of great shots," said Federer.
"We finished a lot of points on errors. But I was ahead in the score and he had the pressure."
It is the first time Nalbandian has made a final since winning in Estoril in May 2006 and the win denied Djokovic an eighth final appearance of the year.
"Djokovic is a player who moves very well, it's very difficult to break his serve," said the Argentine.
"It's tough to know what he's going to do. I just tried to hang in throughout the match and play my game.
"It was not the best match but I'm happy that I won."