Andy Murray is the only player from the world's top 79 not included for the event, which is staged between 21 March and 1 April, with the Briton currently rehabbing after undergoing hip surgery earlier this year.
Australian Open runner-up Marin Cilic and world number five Grigor Dimitrov are also scheduled to appear. The line-up raises the tantalising prospect of a repeat of last year's final, when Federer beat Nadal 6-3 6-4 to claim the third of seven titles in 2017.
Djokovic's inclusion comes amid uncertainty over his current fitness, after suggestions from Swiss publication Blick that the Serb had undergone hand surgery were substantiated by pictures on social media showing him with strapping on the area.
The 12-time grand slam champion had previously complained of an ongoing right elbow injury which had hindered him for two years and forced him to miss the second half of the 2017 season, following his exit from the Australian Open. Last week he confirmed to fans on Instagram he had undergone a "small medical intervention".
Nevertheless, it comes as little surprise that the three biggest players in the men's game have been confirmed to play the event, after the trio were named to appear at the BNP Paribas Masters which is staged the previous fortnight (5-18 March).
News that Federer and Nadal will appear comes amid confirmation both players will be kept apart when the hard-court swing in North America begins in Indian Wells.
Federer will play the Rotterdam Open for the first time since 2013, where he can become the oldest man to top the ATP rankings if he reaches at least the semi-finals.
Regardless of the Swiss legend's performance in the Netherlands he could still yet go to world number one the following week if Nadal fails to reach the last four at the Dubai Tennis Championships – an event Federer is virtually guaranteed to skip.