Rafael Nadal reached his 12th French Open final as he extended his perfect record against Roger Federer at Roland Garros with a resounding 6-3, 6-4, 6-2 victory on a windy Friday in Paris.
The irrepressible 'King of Clay' ended a five-match losing run against Federer - who he had last beaten back in 2014 - with his sixth win in clashes between them at this event, denying the Swiss a triumphant return on the red dirt after sitting out the past three editions of the competition.
Federer was unable to handle Nadal in rallies and the Spaniard's exemplary groundstrokes helped him move one match away from becoming the first player to win 12 titles at the same major. He has never lost a semi-final or final in Paris.
The 37-year-old Federer was looking to become the third-oldest man to reach a grand slam final in the Open Era and the oldest at Roland Garros, but his hopes of a shock victory were essentially wiped out when he dropped serve from 40-0 up in game nine of the second set.
An increasingly frustrated Federer lashed a ball into the stands after failing to adjust when a Nadal backhand clipped the net cord and gave the 17-time major champion an early break in the third.
Chants of "Roger" rang out on Court Philippe-Chatrier but he was unable to stop a rampant Nadal advancing to a final against world number one Novak Djokovic or Dominic Thiem, who he beat in last year's showpiece.
Federer produced an exquisite cross-court backhand to get a break point in the opening game, but the Swiss sliced a return into the net and sent a forehand wide on the second deuce as the reigning champion clawed through after eight minutes.
The 20-time major winner won two straight points – the second with some smart play in the forecourt – to force deuce behind his serve, before a backhand found the net to give Nadal his first break against Federer in 32 games, a run that stretched back to the 2017 Australian Open.
Nadal backed it up with a hold to love, though both players struggled as wind swirled around the court. Federer fired down an ace to get off the mark and then hit back when his opponent erred on the backhand side.
However, Federer succumbed to a sixth break point in game six and Nadal sealed the set with a stunning cross-court backhand.
A wide backhand from the favourite gave Federer the first break of the second, but Nadal responded immediately with a sensational passing shot from well behind the baseline.
The Swiss followed a drop shot with a volley into the open court as he moved 40-0 up in game nine but Nadal blocked his attempt to repeat the trick, before earning a crucial break and going on to serve out the set to love.
Federer was unable to contain his frustration after being caught out by Nadal's shot clipping the net and the Spaniard got his second break of the third when he chased down a drop shot and flicked it out of his opponent's reach.
Nadal got over the line when Federer's backhand return found the net, with the iconic duo given a standing ovation by delighted spectators.