Ferrer had sailed through the first three rounds of the tournament but wasn't able to shake the challenge from Benoit Paire until the third set for a 7-6 (7-5), 3-6, 6-1 victory.
Ferrer cashed in both of his break opportunities in building a 5-0 lead in the decisive set. He lost his serve once, which cost him the second set, on the day.
Qualifier Philipp Petzschner, No. 145 in the world, claimed the other finals slot with a 7-5, 7-5 decision over Xavier Malisse.
Petzschner dropped all three of the break points he faced but piled up five breaks against Malisse. That includes going 3-for-3 in the second set in earning his third career ATP final.
He won the title in Austria in October 2008 and was the runner-up a year ago in Germany.
Ferrer, who is sixth in the world rankings, is looking to even his tournament title match record at 15-15. He's won championships this year at New Zealand, Argentina and Mexico but lost a final to Rafael Nadal in Spain.
Saturday's final will mark the first career meeting between Ferrer and Petzschner.
Puzzle-maker slips 'Murdoch Is Evil' into Rupert Murdoch's Sunday Telegraph
Exploding whale video goes viral on Internet