(CNN) -- Second seed Roger Federer stayed on course for a first French Open title after coming from two sets to one down to defeat Argentine Juan Martin del Potro in another five-set epic, securing a place in Sunday's final at Roland Garros.
Roger Federer screams in joy after beating Juan Martin del Potro to reach the French Open final.
The Swiss world number two, bidding to complete his haul of grand slam titles, recovered from a slow start to claim a 3-6 7-6 2-6 6-1 6-4 victory in three hours and 28 minutes -- and will now meet Robin Soderling in Sunday's final.
Swede Soderling, who earlier this week caused a sensation by knocking out defending champion and world number one Rafael Nadal, defeated Fernando Gonzalez 6-3 7-5 5-7 4-6 6-4 in another thrilling five-setter to continue his remarkable run in Paris.
It was Federer's second five-set win this tournament -- he was also taken the distance by Tommy Haas in the fourth round -- and he has squeezed through to his fourth straight Paris final without hitting top form.
Federer, installed as title favorite after Nadal's defeat, had won all his previous five meetings with Del Potro, not even dropping a set.
But he was broken in the fifth and ninth games to lose the first set as Del Potro dictated the rallies, feasting off Federer's weak and short backhands.
Fifth seed Del Potro played a poor second-set tie-break, sending four shots into the net to gift the Swiss the leveller, but he still held the whip hand and sped through a 36-minute third set during which he broke Federer's serve twice more.
However, as the South American tired, Federer found an extra gear -- as he has done so often this past fortnight -- and suddenly began to dominate Del Potro's serve.
Two breaks were sufficient to win the fourth set convincingly and he broke early in the fifth too. Del Potro grabbed one himself as the light started to fade on Philippe Chatrier court, but he double-faulted in game seven to put Federer back in front. This time, the Swiss did not falter and served out to win.
Federer is now just one win away from becoming the sixth player to complete a sweep of the Majors. The title here would also move him level with Pete Sampras on a record 14 grand-slam crowns.
"That's one more step and I am so happy to have comeback like that," a delighted Federer told reporters. "For a moment there Juan Martin was playing so well, but I had some luck on my side and I fought hard.
"Soderling played a great match against Gonzalez to be in the final. He deserves to be there because he also beat Nadal and he was the man to beat in this tournament."