Novak Djokovic will face Stefanos Tsitsipas in the Internazionali BNL d'Italia final after beating Casper Ruud.in straights sets to claim his 1,000th ATP Tour win.
Djokovic secured a return to the top of the rankings by defeating Felix Auger-Aliassime on Friday and the legendary Serb, who turns 35 next week, was celebrating again in Rome on Saturday after reaching an astonishing landmark.
The 20-time grand slam champion beat Ruud 6-4 6-3 at the Foro Italico to set up a repeat of last year's French Open final, which he won by storming back from two sets down to deny Tsitsipas a maiden major triumph.
Djokovic is only the fifth man in the Open Era to reach 1,000 wins and will take his record tally of ATP Masters 1000 finals to an incredible 55 on Sunday.
A five-time winner on the clay in the Italian capital, Djokovic made a blistering start, breezing into a 4-0 lead as Ruud was unable to hold twice under huge pressure from the Serb.
Ruud warmed to the task, breaking back to reduce the deficit to 5-3, but the first set was over when the 23-year-old sliced a backhand long after being forced wide by the top seed.
Norwegian Ruud started the second set with a commanding hold to love and there were no further break points until Djokovic moved into a 4-3 lead.
Ruud had saved three break points with excellent defence on the back foot, but Djokovic was not to be denied at the fourth time of asking.
Djokovic consolidated that break to stand on the brink of the final and then broke again to seal the victory with his 20th winner of the semi-final, dispatching a forehand beyond Ruud, who he beat at the same stage of this tournament two years ago.
The Belgrade native will be out to extend his record of ATP Masters 1000 titles to 36 when he faces Greek Tsitsipas for the first time since breaking his heart at Roland Garros last season.