Top seed Federer, who paved the way to a 2009 French Open title by beating Nadal in Madrid three weeks previously, could line up to repeat history after defeating Spain's hustling David Ferrer 7-5, 3-6, 6-3.
Federer won a dozen of the last 16 points as he beat Ferrer for the 10th time without a loss in little more than two hours, striking 38 winners and finishing with his eighth ace on the only match point.
"I thought I served really well tonight," Federer said. David is one of the best returners in the game - he fought like crazy. I was worried."
Nadal rallied 4-6, 6-2, 6-2 win over compatriot Nicolas Almagro and is poised - with a finals victory - to return to second in the world on the ATP rankings list behind Federer, replacing Serb Novak Djokovic.
Nadal stands one victory away from a record 18th career trophy at a Masters 1000 event, with Andre Agassi on 17 and Federer at 16.
Nadal leads Federer 9-2 on clay but believes his rival is in the driving seat for the early evening final, which will conflict with a key Spanish football match.
"He's playing really well, and conditions here are perfect for him," Nadal said. "He can win a lot of free points with serve and forehand. This court is perfect for him. He is the favourite here, for sure."
Federer is looking to earn his second title of the year after the Australian Open and prime his clay campaign for a trophy defence starting May 23 at Roland Garros.
"It's very strange that we have not played in a year," Federer said.
"I'm really looking forward to playing Rafa again. It's exciting for tennis that we can face off again. I was hoping something like this would happen in Madrid. I feel my game is coming together. I'm looking forward to the final a lot."
Nadal dropped his first set of the week against the 35th-ranked Almagro, but calmly responded by putting his game back together to take the victory.
"The match was very close to getting away from me in the second set," Nadal said. "My serve was terrible in that first set, very strange."
"Getting into another final is a huge joy," he said. "It's been a long spring on clay and being in this final is a dream for me. Whatever happens tomorrow, this has been very good. Never in my wildest dreams could I have thought of winning two Masters 1000s and getting to the final of a third."
The 23-year-old is a perfect 14-0 on clay for 2010 after his victory, which included 16 winners and six service breaks of Almagro, whose unforced error count mounted to 37, mainly in the last two sets.
In women's play, Venus Williams will face Aravane Rezai after the French player advanced in 24 minutes when Czech Lucie Safarova quit with a hamstring problem after losing the first set 6-1 in 24 minutes.
Safarova won just six points out of 16 in her abbreviated loss, a day after ousting 14th seed Nadia Petrova.
Williams turned in a ruthless performance to reach her first clay final of the European spring 6-3, 6-0 over outclassed Israeli Shahar Peer.
The American fourth seed - set to become second in the world Monday behind her sister Serena - now stands 5-0 without the loss of a set against the world number 22 Peer, who never stood a chance in the hammering.