The local favorite will face No. 2 seed Juan Martin del Potro of Argentina in the final.
Federer only needed an hour to dispose of the Belgian, hitting 20 winners, including 12 on his forehand.
"I'm ready for a difficult match and a fully fit del Potro," Federer said. "He played a great match against me in Shanghai and went on to win Stockholm. Now he's here in the final again. I think he's OK. He might be tired, but he doesn't have issues that would keep him away from the court."
Federer, from the baseline, kept Goffin out of sorts throughout the match with a combination of strong first serves and powerful forehand strokes. The result was an easy 6-1 first-set victory.
The No. 2 player in the world kept it going in the decider by breaking Goffin in the first game and another later in the set to go up 5-2 before closing out the match.
Federer won 21 of 23 (91 percent) of points on his first serve.
Del Potro had a slightly tougher time in his semifinal, defeating defending champion Marin Cilic, 6-4, 6-4, in an hour and 37 minutes.
"I played a good match, but always to beat Cilic you must play at a high level," del Potro said. "I'm happy that I did well and reached another final here in Basel."
It was del Potro's seventh straight win over the Croatian.
Like Federer, del Potro kept the No. 4 seed out of his rhythm. Cilic hung with del Potro through much of the first set and tied it 4-4 before several errors cost him and the Argentine clinched it 6-4.
In the second set, both players broke each other's serves once, leading to a 3-3 tie. From there, del Potro regained the momentum and won three of the next four games to take the match.
"I think I will be in good shape for tomorrow," del Potro said. "I'm so excited to play the final."
Federer leads the all-time FedEx ATP Head2Head with del Potro 17-6.
"For me it's going to be a great challenge and also a great pleasure to play against Roger again in his hometown," del Potro said. "It will be a great atmosphere, and I will enjoy it a lot."