The top-seeded Spaniard will face defending champion Alexander Zverev who overcame fourth seed Marin Cilic of Croatia 7-6(13) 7-5 in the other semi-final.

The 21-year-old German, who won the Madrid Open last week, is the in-form player on the ATP Tour going into the French Open, chalking up his 13th win in a row to reach Sunday’s final.

Nadal’s clash with Djokovic, an open-era record 51st meeting between the two, was a thriller, with former world number one Djokovic producing his best performance since returning from a long-term elbow injury.

“Playing against him is always a big challenge,” Nadal said. “He played well, and it’s always the same against him. When you go down a little bit in level, he’s always there and you are in big trouble.”