World number one Novak Djokovic on Saturday battled past Italian Lorenzo Sonego to set up a clash with nine-time winner Rafael Nadal for the sixth time in the Italian Open final.
Defending champion Djokovic won through 6-3, 6-7 (5/7), 6-2 in 2hr 44min against the 33rd-ranked Italian after second seed Nadal earlier swept past American Reilly Opelka 6-4, 6-4.
Djokovic had earlier survived a three-set battle with Greece’s Stefanos Tsitsipas in their rain-delayed quarter-finals.
The five-time Rome winner had been trailing 6-4, 2-1 when the tie was halted overnight.
But he came back to win through 4-6, 7-5, 7-5 after 3hr 16min.
Djokovic and Nadal, who will be facing each other for the 57th time, last played in the 2020 French Open final which the Spaniard won.
The pair have won 14 of the last 16 Rome titles between them while Nadal leads their head-to-head in finals in the Italian capital 3-2.
Djokovic had two match points in the 12th game of the second set of his semi-final before Sonego forced a third set to the delight of the home crowd in the Foro Italico.
The Serb saved three break points in the first game of the third set, coming back from 0-40 before powering towards his 11th Rome final.
“I think I bounced back very well after the second set and 0-40, maybe if he started with a break up in the third it would be different,” said Djokovic.
“I’ve only myself to blame for not closing the match in the second set, I could have and should have.
“First of all I need to recover. I don’t have much time but hopefully I’ll have fresh legs necessary to have against Rafa.”
Djokovic and Nadal have won 14 of the last 16 Rome titles between them with Djokovic leading their overall head-to-head 29-27.
Nadal is looking to equal Djokovic’s record of 36 ATP Masters 1000 titles in his 12th Rome final.