The 16-times Grand Slam winner raced into his seventh Halle final with a 6-1 6-4 win over Mikhail Youzhny.
Federer wasted little time converting four of his eight break points to maintain a perfect record of 13 wins in 13 matches against the Russian.
"Mikhail started a bit slow but I think I took advantage of it and after that I was able to get on a roll," the Swiss number two seed said.
"I'm obviously excited to be a finalist here again."
Federer will face wildcard Haas on Sunday after the German beat Rafa Nadal's conqueror Philipp Kohlschreiber 7-6 7-5.
"It's always tricky playing Germans here in the final, but I'm looking forward to that match," said Federer.
Sunday's match will be the first ATP final to feature two 30-somethings since Spain's Carlos Moya beat Andrei Pavel of Romania in the 2007 Umag final.