Nadal was his usual brilliant self on the clay of Roland Garros, cruising past the challenge of No. 7 seed Kei Nishikori.
The Spaniard won 6-1, 6-1, 6-3 in an excellent display in Paris.
Federer joined his great rival in the semi-finals after a tough match against Swiss compatriot Stanislas Wawrinka.
The icon dropped the second but muscled past Wawrinka 7-6 (4), 4-6, 7-6 (5), 6-4, setting up a clash with Nadal.
In the women's draw, Johanna Konta was at the top of her game as she eliminated Sloane Stephens in straight sets.
The British No. 1 will face Marketa Vondrousova after she defeated No. 31 seed Petra Martic.
(2) Rafael Nadal bt. (7) Kei Nishikori: 6-1, 6-1, 6-3
(3) Roger Federer bt. Stanislas Wawrinka: 7-6 (4), 4-6, 7-6 (5), 6-4
(26) Johanna Konta bt. (7) Sloane Stephens: 6-1, 6-4
Marketa Vondrousova bt. (31) Petra Martic: 7-6 (1), 7-5
(1) Novak Djokovic vs. (5) Alexander Zverev
(4) Dominic Thiem vs. (10) Karen Khachanov
(3) Simona Halep vs. Amanda Anisimova
(8) Ashleigh Barty vs. (14) Madison Keys
Visit RolandGarros.com to see the schedule and draw in full.
Nadal and Federer are ready to give tennis fans a treat as they set up a semi-final encounter in the French capital.
The pair have not faced each other since 2017, and their last clash at Roland Garros was in the 2011 final.
Nadal prevailed in four sets in that match, and the Spaniard has won the competition an eye-watering 11 times during his career.
The Spaniard was in cruise control on Tuesday as he hurdled the challenge presented by Nishikori.
In what should have been a stiff test, Nadal crushed the Japanese star in straight sets.
Nishikori could only win five games over the three sets, and Nadal appears ready for a 12th success in Paris.
It was the 11th time Nadal has beaten Nishikori in 13 career matches.
Wawrinka was always going to be a difficult opponent for Federer, with the countryman knowing the intricacies of the No. 3 seed's tactics.
Federer claimed the first via a tie-break, but Wawrinka grabbed the second to stun the legend.
However, the 37-year-old was not to be denied. Federer worked hard to close out the match, claiming the third by another tie-break and winning the final set 6-4.
Nadal has defeated Federer on clay 13 times, but the Swiss has the better of the results in recent matches, per SI Tennis:
Konta continued her return to form as she beat No. 7 seed Stephens with ease.
The Brit was electrifying as she won in straight sets against the American.
Konta has battled her way back to her best and will now face Vondrousova after her close win over Martic.
The Czech 19-year-old won the first with a convincing tie-break and closed out the victory 7-5 in the final set.