Rafael Nadal defeated his great rival Roger Federer to reach his 12th French Open final.
The match, a 39th meeting between the two men, was played in exceptionally windy conditions at Roland Garros but Federer was unable to blow the defending champion off course.
After two tight sets, Nadal turned the screw to win 6-3 6-4 6-2 and add another victory to the five previous ones he had over Federer on the Paris clay.
Federer insisted he was looking forward to the challenge having decided this year to return to a tournament he had not played since 2015.
The 37-year-old had turned the momentum of their rivalry around with five straight wins, all on hard courts, and had been in fine form this tournament, but this would quickly have felt awfully familiar.
Not that any of their previous encounters were in conditions quite like this. While the threatened rain held off, the wind sent the ball swirling off course off both men's rackets and whipped the clay into their eyes.
The second set was central to Federer's hopes. His tactic of drop-shotting into the wind was an effective one, and he broke serve to lead 2-0 only to lose serve himself straight away.
Nadal then broke his opponent from 40-0 in the ninth game before serving out for a two-sets-to-love lead.
Federer received a warning for ball abuse when he angrily smashed one into the crowd after being broken again in the third game of the third set, and from there the end was swift.
Nadal improved his record against the Swiss to 24 wins and 15 losses and will face either Novak Djokovic or Dominic Thiem as he chases an 18th grand-slam title.