(CNN) -- Roger Federer is through to the semifinals of the ATP World Tour Finals after beating Argentina's Juan Martin del Potro at London's O2 Arena on Saturday.
The Swiss World No.7 came from a set down and 3-0 down in the deciding set of the Group B match to eventually win through 4-6 7-6 7-5 in two hours and 26 minutes.
Federer, a six-time winner of the event, will now face World No.1 Rafael Nadal on Sunday for a place in Monday's final.
"It's something to look forward to," Federer said. "I don't even have a day off so I've got to back it up tomorrow, but I'm ready and I'm looking forward to a great matchup with him."
Swiss fans were out in force at the O2, but must have feared the worst in all three sets as their man struggled at times to cope with the power of the fourth seed.
Federer trailed del Potro 5-1 in the opening set before mounting a mini-comeback to trail 5-4. Two break points went begging in the 10th game, before del Potro reasserted his early authority and serve out the set.
Trailing again in the second set -- this time 3-1 -- Federer once more sprang back into life taking 12 points in a row before eventually levelling the match in a tiebreak (7-2).
With the pattern firmly established, Federer duly went 3-0 down in the third before leveling the set three games later. Del Potro's resolve, and serve were broken in the 11th game which set up Federer to serve out the match which ended with a resounding ace.
"It's amazing I was able to pull it off because he got a great start in each of the sets. I could never really play free-flowing tennis like I would have liked to if I would have been in the lead," Federer said.
The 17-time grand slam champion was quick to pay tribute to a "tough" and, in recent weeks, very familiar opponent.
The pair met in the final of the Basel tournament in Switzerland at the end of October with del Potro winning in three sets. Last weekend, it was Federer's turn to triumph in the quarters at the Paris Masters.
"I thought Juan Martin's done really well the whole season and also again today. It was a pleasure playing against him and unfortunately one guy had to win."
In the remaining Group B match, Novak Djokovic beat Richard Gasquet 7-6 (8-6) 4-6 6-3 to maintain his 100% record while consigning the Frenchman to his third straight defeat.
The Serb will face Switzerland's Stanislas Wawrinka in Sunday's other semifinal clash.