The semi-final finished 6-1, 6-4 and Federer will play the qualifier Marius Copil who upset the second seed Alexander Zverev in the first of the last four clashes at the St Jakobshalle.
"It was a very good win for me, I'd rate it at eight out of 10," Federer said. "I was feeling good on court apart from closing it out, I had a few errors there.”
Federer will vye for a ninth title in Basel and his 99th overall against a player who will compete in only his second final on the ATP tour.
With his surprise victory, Copil, 28, became the first qualifier to reach the Basel final in more than a decade.
"I still can't believe I won. It has been an unbelievable week for me," said the world number 93. "When I came here I was fighting to stay in the top 100. I was just hoping to win a few matches. Now I'm in the final, it's an unreal achievement for me.”
Copil, who will take on Federer for the first time, will start as the underdog against the 20 time Grand Slam winner.
However he has given notice throughout his surge to the showdown that he is not cowed by reputations. Before dispatching the world number five Zverev, the Romanian accounted for another top 10 player in the shape of the 2016 champion Marin Cilic.