Rafael Nadal came out on top in a captivating Italian Open semi-final against long-term rival Novak Djokovic as he won 7-6 (7-4) 6-3 in Rome.
A gruelling contest was full of heavy-hitting and dramatic points, with Nadal edging the first set on a tie-break.
Djokovic, who is trying to get back to his best after returning from elbow surgery in January, faded in the second set as Nadal powered to victory.
The Spaniard will face Germany’s Alexander Zverev in Sunday’s final.
- Halep beats Sharapova to reach final
Zverev, the world number three, beat Croatia’s Marin Cilic 7-6 (15-13) 7-5.
“It was a tough match,” said 31-year-old Nadal. “Playing against him is always a challenge.
“I played a couple of bad shots serving for the first set. Against him you always have to play at the limit of your game.
“I needed to play aggressive with my forehand. When I didn’t do that is when I suffered.
“This victory is a good confidence for me.”
This was the 51st meeting between the pair and first since 16-time Grand Slam winner Nadal beat the Serb in May 2017.
There were concerns over how 30-year-old Djokovic would fare considering his quarter-final victory late on against Kei Nishikori the previous day, but he looked back to his best in the first set.
The pair traded some punishing blows in front of a enraptured crowd and, even though Nadal led 5-2, Djokovic recovered to take three games in a row on the way to sending the opener to a tie-break.
It was 3-3 at the change of ends before Nadal stepped it up and his forehand came to the fore as he won it 7-4.
Nadal broke Djokovic to love in third game of the second set as the efforts of the Serb took their toll on him.
The Spaniard was taken to deuce in the eighth game but held on before securing a victory which has him trailing 26-25 in the head-to-head contests between the two.
- Live scores, schedule and results
- Alerts: Get tennis news sent to your phone
Zverev on a roll in 2018
Zverev will aim for an upset of Nadal on Sunday as well as a clay-court Masters double after winning Madrid last weekend.
The 21-year-old German will be playing his fifth final in the past 10 Masters events – he won Rome and Montreal in 2017 and played the Miami final this season.
The win over world number five Cilic – including a tie-break that lasted 20 minutes – extended his current win streak to 13 matches while he has 30 match wins in total in 2018.