Roger Federer has sealed his place in the semi-finals of the French Open by coming from two sets behind to beat Juan Martin del Potro 3-6 6-7 6-2 6-0 6-3.
Del Potro's power troubled Federer from the outset and the Swiss ace seemed to be out of sorts throughout the first set.
Federer was broken three times by his opponent on his way to a 6-3 defeat in the opener.
Despite the second set being played in a more even fashion, Federer remained well short of his best form and Del Potro continued his excellent start by winning a tight tie-break to go two sets ahead of the former world number one.
However, Federer refused to go quietly and finally started to find his feet in the third set and broke Del Potro twice before completing a 6-2 set to force his way back into the contest.
Federer was in full stride in the fourth set, proving his quality with a superb spell of dominance as he whitewashed Del Potro to draw level in the contest.
The fifth set continued in the same manner as the previous two, with Del Potro looking distraught at having thrown away the lead. Federer seized his opportunity and sensing victory, put Del Potro to the sword with a vital break of serve before completing a stunning comeback to book his semi-final spot.