Third-seeded Spaniard David Ferrer reached the final of the Miami ATP Masters with a 4-6 6-2 6-3 victory over Germany's Tommy Haas.
A determined Ferrer twice rallied from a break down in the third set to end the giant-killing run of 15th-seeded Haas, who stunned World No.1 Novak Djokovic in the fourth round.
The Spaniard will play either second-seeded Andy Murray of Britain or France's Richard Gasquet in Sunday's final.
Haas, 34, the oldest player in the world top 50, backed up his upset of Djokovic with a quarter-final win over Gilles Simon, and he got off to a fast start against Ferrer.
The Spaniard looked out of sorts as Haas broke him at love for a 3-2 lead in the opening set, and the German broke him again for a 5-2 lead.
Ferrer managed to regain one break, but his 18 unforced errors in the opening frame proved too much to overcome.
Ferrer, winner of two titles already this year and projected to regain the World No.4 ranking from compatriot Rafael Nadal next week, managed to cut down on his errors in the second set, breaking Haas twice to force a deciding third set.
An exchange of breaks in the first three games of the third left Ferrer trailing 2-1, but he broke Haas to level the set at 3-3 and again for a 5-3 lead as Haas's errors multiplied.
The Spaniard didn't waste his chance to serve out the match, wrapping it up with a love game.