Djokovic will play in the final against Stefanos Tsitsipas on Sunday, where the Serbian player will appear in the final in Rome for the fourth time in a row and number 12 in his career.
The match will be a replay of the French Open final when Djokovic won despite losing in the first two sets.
The 34-year-old became the fifth man in the professional era to reach 1,000 wins, after Jimmy Connors, Roger Federer, Ivan Lendl and Rafael Nadal.
Playing under the floodlights, Djokovic broke Norwegian Roode twice to take an early 4-0 lead in a strong start to the meeting.
Ruud broke Djokovic while trailing 5-3 and held serve, but the 20-times Grand Slam champion clinched the set.
In the second set, Rudd saved three break points in the seventh game, before Djokovic eventually led 4-3.
Djokovic broke Ruud again and decided the match after one hour and 42 minutes of play, and the Serb will look to extend his record and win his 38th title in the 1,000-point professional championship in Sunday’s final.
Earlier in the day, world number five Tsitsipas reached the final in Rome for the first time with a 4-6, 6-3, 6-3 victory over Alexander Zverev.
Tsitsipas, who will climb to fourth in the world rankings when the new list is announced this week, will try to claim his third title in the 1,000-point Masters Tournament.
In the third match between the players in the semi-finals of the 1,000-point Masters tournament this season, Tsitsipas beat Zverev by keeping his level from the baseline and his serve.
Zverev was decisive in the first set and executed the first serve brilliantly, but the German lost the first set in this year’s tournament after Tsitsipas improved and won the second set.
Tsitsipas took an early lead in the deciding set and broke to advance 3-2 after a forehand by Zverev into the net.
Tsitsipas broke Zverev’s serve again to put himself on the path to finalizing the match, reaching 31 victories this year, the best among professionals, and 8-4 ahead of his German opponent in head-to-head matches.
After this defeat, Zverev remains without winning a title this season.