Nadal, who is working to return to his previous best on his longtime favourite surface, will open in the second round after a bye against British number two Aljaz Bedene.
The Slovenian-born world number 60 will face one of the toughest tests on clay when he takes on the Spaniard who dominated with consecutive trophies from 2005-12.
Nadal has never played Bedene, Federer is 3-0 over Garcia-Lopez as the pair meet for the first time on clay.
Spaniard Guillermo Garcia-Lopez made it past Brazil's Thomaz Bellucci 7-5, 6-1 to next face third seed Federer, who is set to play his first match in more than two months after a knee procedure.
Also Read
Nadal is looking for his first title on any surface since last summer and will willingly make 57th-ranked, Slovenia-born Bedene his first victim of the week in the principality.
Federer most recently lost a Monte Carlo final two years ago against compatriot Stan Wawrinka. Bedene appears ready to take up his challenge against the mighty Nadal.
"It's going to be fun, definitely if I bring my best tennis. I'm not the favourite, but I stand a chance. It's never a good time to play someone like him. But if I can pick any, this is the time.