For world number one Djokovic, the defeat ended his hopes of an 18th Slam and of becoming the first man since Rod Laver in 1969 to win all four majors twice.
Nadal, 34, claimed his 100th match win at Roland Garros against just two defeats since his 2005 debut.
The Spaniard, the oldest champion in Paris since Andres Gimeno in 1972, claimed the title without dropping a set.
He finished the one-sided affair with just 14 unforced errors to his opponent’s 52.
“Congrats to Novak for another great tournament. Sorry for today. We’ve played plenty of times together – one day one wins, another the other,” said Nadal.
“After all the things I have been through in my career with injuries, I could not have done it without my family.”
Nadal said he wasn’t even thinking about matching Federer’s record.
“It’s been a very tough year. Winning here means everything to me so it’s not about equalling Roger on 20, for me today it’s just a Roland Garros victory,” said Nadal who had skipped the US Open due to the global health crisis and was playing just his second tournament since February.
“Roland Garros means everything to me. I spent most of the most important moments of my tennis career here.
“Just playing here is a true inspiration. The love story I have with this court and city is unbelievable.”
For Djokovic, it was just his second loss of 2020 following his default at the US Open.