Roared on by a capacity crowd in the Palexpo Arena, Federer dismantled world number 17 Fognini 6-2 6-3 7-6 (4) in just under two hours to give the Swiss an unassailable 3-1 lead.
               
Italy's Andreas Seppi beat Michael Lammer 6-4 1-6 6-4 in the fifth rubber but Switzerland, who lost to the United States in their only other Davis Cup final appearance, progressed 3-2 and will play France in the November final.
               
The French beat holders Czech Republic at Roland Garros.
               
"It's really nice to share it (victory) with my team members," Federer said. "I think I really struggled today. I think Fabio struggled all weekend.
               
"It's tough conditions, pretty quick court, so it's always going to happen especially if you are not serving so well.
               
"I thought today wasn't the best performance from both of us, but then again you've got to fight with what you've got and in the end I'm happy to make the difference."
               
Federer gave the Swiss the first point on Friday by easing past Simone Bolelli before Stanislas Wawrinka doubled their advantage with a straight-sets victory over Fognini.
               
But Fognini and Bolelli combined brilliantly in Saturday's doubles match to beat Wawrinka and Marco Chiudinelli in five sets and put the pressure back on the Swiss.
               
Having been rested for the doubles match, a refreshed Federer broke Fognini in the sixth game to take a 4-2 lead before snatching another break to claim the first set.
               
Federer, who has now won all five of his Davis Cup singles rubbers this year, continued to trouble the Italian with his precision hitting and broke Fognini in the eighth game of the second set to take control of the match.
               
Fognini rallied in the third set and took Federer to a tie break but the 17-times grand slam champion held his nerve, claiming it 7-4 to reach the first Davis Cup final of his illustrious career.
               
"For the whole of Switzerland it's great we're in the finals now," Switzerland captain Severin Luthi said. "We couldn't be happier.
               
"Roger didn't have that much time to get used to the court and conditions and there is a lot of pressure involved. For me he played fantastic tennis."
               
The final will be played in France from November 21-23.

Latest News from Sports News Desk