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 Marin Cilic or Alexander Zverev in the final.
"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.