A rampant Rafa Nadal turned on the style to beat his old rival and former world number one Novak Djokovic 7-6(4) 6-3 in Rome on Saturday, reaching his first Italian Open final since 2014.
The meeting, an open-era record 51st been the two adversaries, was played out in typically thrilling fashion, with Djokovic putting in 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.
"I needed to play aggressive with my forehand, that's when I felt I was a little more in control."
Djokovic made the stronger start as Nadal struggled to get his first serves in early on, the Spaniard coughing up two break points in the opening game that his opponent squandered.
Inevitably, Nadal pounced a few games later, breaking Djokovic to go 4-2 up before the Serb rode his forehand to a stunning recovery.
Djokovic, a four-times champion in Rome, was helped by a fortunate touch off the net cord that gave him two break points, and he converted for 5-4 in the set before holding serve again to draw level.
Nadal started the tiebreak like he started the match, as a poor forehand volley handed Djokovic the initiative, but the Spaniard won the next two points on his opponent's serve to retake control.
Djokovic clawed his way back to 3-3 but cracked after an unlucky touch off the tape sent a forehand back onto his side of the net to put Nadal 6-4 up, and the Spaniard duly wrapped up the set on the Serb's serve in 71 minutes.
Nadal carried his momentum into the second set, winning 10 of 11 points in a blur of viciously swerving forehands and clubbed backhands that brought him an early break and a 2-1 lead in the decider.
Djokovic still showed an appetite to fight back, forcing Nadal to three deuces in the eighth game of the second set before the Spaniard carved out a hold.
That failure ended the Serb's resistance and Nadal won in style on his opponent's serve, striking a punishing forehand down the line to claim victory.
Defending champion Alexander Zverev meets fourth seed Marin Cilic in the other semi-final later on Saturday.