The No. 3-seeded Ferrer, who won the final five games, improved to 25-4 this year and leads the tour in victories.
He's trying to become the first Spaniard to win the Key Biscayne men's championship. Rafael Nadal is a three-time runner-up, and Spaniards are 0-5 in the final.
Ferrer's opponent Sunday will be the winner of the semifinal Friday night between 2009 champion Andy Murray and No. 8-seeded Richard Gasquet. The path to the title was made easier because Nadal and Roger Federer skipped the tournament, and Novak Djokovic was upset by Haas in the fourth round.
Ferrer had lost in his two previous appearances in the semifinals in 2005 and '06.
The 34-year-old Haas, the oldest man in the top 50, took a 3-1 lead in final set but appeared to tire and was undone by a flurry of errors down the stretch. The 5-foot-9 Ferrer doggedly chased down shots as usual, winning the majority of the long rallies and taking advantage of a poor serving day by Haas.
The No. 18-ranked Haas put only 43 percent of his first serves in play and was broken six times.
Ferrer served out the last game at love. He charged forward as Haas' final shot landed short of the net, then collapsed to his knees and looked to the sky while raising his fists.
Haas, who is projected to crack the top 15 next week for the first time in five years, raced to a 5-2 lead but after that looked nothing like the player who upset Djokovic on Tuesday. He shanked half a dozen backhands and blew several easy volleys, which left him cursing and waving his arms in frustration.
Ferrer showed little emotion until the final game. When he took a 30-love lead, he threw an uppercut, and after the final point he fought back tears.
Ferrer seeks his second Masters 1000 title. His first came at Paris in November.