Remarkably, Djokovic hit back in the second set as his opponent's level dropped, to force a decider on Nadal's favourite surface.
However, Nadal regrouped and broke serve in the first game of the third set and once again in the fifth, to seal the win and take the title in emphatic fashion.
Djokovic leads Nadal 28-26 in their career head-to-heads. It was Nadal's first win over the Serbian player since the semi-finals of this event a year ago.
Djokovic had won their Wimbledon semi-final and Australian Open final on his way to increasing his major tally to 15, two behind Nadal, who he will probably have to overcome over five sets if he is to lift his second French Open title next month.
In taking the Rome title, the Mallorcan reached a record 34th ATP Masters crown, eclipsing his Serbian opponent with whom he was level on 33 before the final.
Image credit: Getty Images
Nadal will be boosted by the his return to form ahead of the start of the French Open a week today, where he will be searching for a 12th title.
The Spaniard, who had shared the record of 33 Masters titles with the Serbian, claims his ninth Rome title.
Nadal got off to a flying start by whitewashing a shellshocked Djokovic in the opening set.
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.
'JUST TOO STRONG'
The Spaniard heads into Roland Garros in top form after seeing his serve broken just twice en route to claiming his first title of 2019 in his 50th Masters final.
“For me it’s always an honour to be here, I still remember my first time here in 2005,” said Nadal, who will be chasing a record extending 12th French Open title when the claycourt major begins on May 26. “To have the chance to come back and win this trophy after so many years means everything. It wasn’t an easy week for me.”
The 32-year-old left Djokovic in a daze as he stormed through the opening set in 39 blistering minutes.
The top seed fought back in the second as he saved four break points before winning the decisive game on Nadal's serve to take the set 6-4.
But the Serb, who had survived three-set battles against Argentines Juan Martin del Potro and Diego Schwartzman to reach the final, faded in the final set as he dropped his opening service game before Nadal surged clear.
"I'm really glad that I managed to get into the third set, considering the first set where I was blown away from the court," said Djokovic. "Obviously third set was not much different from the first. I was just running out of fuel a little bit today. Just kind of missed that half a step, especially on the backhand side.
"He used it very well. He's been playing some terrific tennis throughout the entire week. He was just too strong today."