Djokovic (34 ans) revient ainsi à une seule longueur de Roger Federer et Rafael Nadal, dont il est venu à bout en demi-finales, dans la course au nombre de trophées en Grand Chelem.
Le Serbe devient aussi le premier joueur de l'ère Open (depuis 1968) à remporter au moins deux fois chacun des quatre tournois majeurs, le troisième de l'histoire après les Australiens Roy Emerson et Rod Laver.
Djokovic s'était imposé une première fois à Roland-Garros en 2016.
"J'ai joué deux grands champions en moins de 48 heures, ça a été très difficile physiquement et mentalement pour moi ces deux, trois derniers jours", a-t-il déclaré.
"J'ai réussi à rester présent mentalement même mené deux sets à zéro, c'est un rêve qui s'est réalisé encore une fois", a-t-il ajouté.
C'est la deuxième fois de la quinzaine parisienne que Djokovic comble un retard de deux sets à zéro, après son huitième de finale face au jeune Italien Lorenzo Musetti.
A 34 ans, il devient le troisième joueur le plus âgé de l'ère Open à remporter Roland-Garros (après Gimeno et Nadal).
Roland-Garros a vécu sa première finale en cinq sets depuis 2004 et celle entre les Argentins Gaston Gaudio et Guillermo Coria.