Federer prevailed 3-6, 6-3, 6-4 in the semifinals of the Wimbledon tuneup on the grass courts of Halle, and will go up against Russian Mikhail Youzhny in Sunday's finals.
Youzhny upset second-seeded Richard Gasquet of France Saturday 6-3, 6-2.
Federer, the defending Wimbledon champion, got back on track quickly after losing the first set Saturday. He took a 3-0 lead on a break point and did not face a break again the rest of the way.
"I think he won most of the big points in the first set," said Federer. "Then in the second and third I was able to turn it around and win the big points myself."
Haas beat Federer for the Gerry Weber title last year.
History pointed to an easier time for Federer on Sunday. The Swiss ace is 14-0 lifetime against Youzhny.
Pregnant Mila Kunis wins 'Best Villain' at MTV Movie Awards
Biologists detail four new deep-sea 'killer sponges'