The 32-year-old was outclassed when the pair met in the Australian Open final in January but had no such problems when returning to clay, winning 6-0, 4-6, 6-1 in Rome.
The Spaniard, who had shared the record of 33 Masters titles with the Serbian world number one, warmed up for the defence of his French Open crown by securing his ninth Rome title.
Nadal got off to a flying start by whitewashing a shellshocked Djokovic in the opening set. It was the first time there has been a 6-0 set during a meeting between the two rivals.
Djokovic took the second by breaking Nadal's serve for the first time while leading 5-4, but the second seed responded in style by storming through the decisive set.
It marked the 20th time in his career that Nadal has beaten the top-ranked player in the world at that time, surpassing Boris Becker in achieving the feat.
Nadal's first title of year was a record 34th ATP Masters 1000 crown for the Spaniard as he moved one clear of Djokovic, ahead of next week's French Open.
Djokovic still leads the overall head-to-head record, 28 wins to 26, despite his defeat in Rome.
Additional reporting from the Press Association.