Federer defeated his recent US Open conqueror 3-6, 6-3, 6-3 in one hour and 58 minutes in the second semifinal to set up what would be a mouth watering contest against world number one Rafael Nadal.
At one point of time, it appeared that the 19-time Grand Slam champion might be denied a meeting with Nadal as he failed to capitalise on four consecutive break points while being down a set and up 3-2 in the second set.
However, the 36-year-old broke through on his fifth break chance of the game when del Potro missed a forehand wide and then he used the momentum to stage a comeback in to the game.
Earlier, Nadal defeated Marin Cilic 7-5, 7-6(3) to reach his 111th final and 10th of the year.
It will now be the fourth time and third time in a final when Federer and Nadal will clash with each other this season. (ANI)