World number one Novak Djokovic recorded his 1,000th career victory as he beat Casper Ruud in straight sets to book his place in the final of the Italian Open.
Djokovic had moved 4-0 ahead before Ruud, the world number 10, briefly rallied with a break back of his own at 5-3, but could not save the set slipping away.
The second set proved much closer, staying on serve until the seventh game when Djokovic eventually converted a fourth break-point chance.
A comfortable hold put the Serbian on the brink of a landmark victory, which he delivered with another break, smashing a forehand crosscourt return, to progress 6-4 6-3 to Sunday's final, where he will play Stefanos Tsitsipas.
Djokovic said: "Thanks to the tournament and the crowd for celebrating the milestone with me. Obviously I've seen Roger and Rafa celebrate those milestones in the last couple years. I was looking forward to get to that thousand myself. I'm really, really blessed to have that many victories on the tour.
"It's been a long time, ever since I played my first match, ever since I won my first match on the tour. Hopefully I can keep going."
Earlier, world number five Tsitsipas had come from behind to beat third-seed Alexander Zverev 4-6 6-3 6-3.
German Zverev converted the only break point of the opening set to establish an early lead, before Tsitsipas fought back to force a decider.
Another break in the fifth game saw the Greek maintain momentum to go on to clinch a hard-fought victory in just under two-and-a-half hours at the Foro Italico.
In the WTA event, defending champion Iga Swiatek defeated Aryna Sabalenka in straight sets to extend her winning streak to 27 matches and book a place in the final, where she will face Ons Jabeur.
The Polish world number one progressed 6-2 6-1 against the number eight seed to become the first player since Simona Halep in 2017 to make four WTA 1000 finals in a single season.
"At these tournaments where we play day after day, we don't really get time to celebrate. Right after we finish the previous match, we have to think about the next one," Swiatek, 20, said in her post-match interview.
"It is pretty tough, but I know that after I am going to be really proud of myself. I am just constantly surprising myself that I can do better and better."
Jabeur needed three sets to get past Russian Daria Kasatkina, eventually coming through 6-4 1-6 7-5 having saved a match point.
Ninth seed Jabeur is seeking a second consecutive WTA title triumph after claiming last week's Madrid Open.
Those hopes looked to have been ended when Kasatkina was on the brink of victory leading 5-4 in the decider, but Jabeur recovered to extend her career-best run to 11 straight victories.
"It is never easy to play (against Kasatkina). I know this surface kind of suits her very well because it is slow and she likes it. She was playing really well this week," Jabeur said after her victory.
"It was a tough one for me not being 100 per cent there, so I am pretty glad that I got the win and into the final again.
"I am exhausted, yes, but it is part of my job. It is going to help me push more tomorrow. There is only one match left."