The top-seeded Djokovic broke No. 2 Federer four times and saved six of the seven break points he faced.
And once again, Djokovic came up one victory shy, stopped by the eighth-seeded Stan Wawrinka.
Nadal improved his record at Roland Garros to 66-1, and stretched his winning streak at the clay-court major to 35 straight.
Refusing to allow his opponent even a glimmer of hope under the lights, Andy Murray wrapped up a straight-set win on a drama-free evening inside Arthur Ashe Stadium.