Striving to complete a career Grand Slam, Federer came from behind twice in the semifinals to beat big-serving Juan Martin del Potro 3-6, 7-6 (2), 2-6, 6-1, 6-4.
Playing in his fourth consecutive Roland Garros final, Federer will try for his 14th major title to match Pete Sampras record.
Federers opponent Sunday will be No. 23-seeded Robin Soderling of Sweden, who extended his improbable Roland Garros run by beating No. 12 Fernando Gonzalez in another seesaw semifinal, 6-3, 7-5, 5-7, 4-6, 6-4.
With nemesis Rafael Nadal eliminated in the fourth round, Federer faces a less daunting path to that elusive Roland Garros championship. Hes 9-0 against Soderling.
But then Federer had swept his previous five matches and 12 sets against del Potro. The 6-foot-6 Argentine rose to the occasion in his first major semifinal and kept on the offensive for much of the match, but began to weary in the fourth set.
Federer broke for the first time 2½ hours into the match to lead 3-1. Del Potro lost his next two service games as well, allowing Federer to sweep seven games in a row and finally take the lead.
By then, Federer was in top form, gliding across the clay that has vexed him in the past. He won a frantic rally by lunging to slice a forehand into the open court for a 3-1 lead in the fifth set. There were more highlight-reel shots down the stretch, and he closed the victory with forehand winners on back-to-back points.
In the all-Russian womens final Saturday, top-ranked Dinara Safina will try for her first Grand Slam title against Svetlana Kuznetsova.