Nadal is now 13-0 on clay this year as he swept aside Belgian ninth seed David Goffin 7-6 (7/3), 6-2 much to the delight a boisterous home crowd under the roof on the Manolo Santana centre court.
Djokovic had an even easier day as he moved into the last four on Friday without hitting a ball as Kei Nishikori withdrew with a wrist injury.
And the Serb has a marginal 26-23 head-to-head record against Nadal.
Nadal eased past Goffin in their only previous meeting on his way to winning the Monte Carlo Masters 6-3, 6-1 last month before also lifting a 10th Barcelona Open.
And only a poor return on his break point opportunities denied Nadal just as convincing a scoreline as the Spaniard took only two of his 13 chances.
The 14-time Grand Slam champion had break points in the fourth and sixth game of the first set, but had to settle for breaking Goffin's resolve in a tie-break.
Nadal finally broke in the third game of the second set before having to stave off four break points on his own serve to consolidate his lead at 3-1.
The level of play from both players rose in a remarkable game with Goffin serving 2-4 down as he kept Nadal at bay for four break points, including one incredible cross-court backhand as he ran back to the baseline after being lobbed.
Nadal wasn't to be denied, though, as he broke once more and served out to seal victory after exactly two hours on court.
On the other side of the draw Uruguayan Pablo Cuevas advanced to his first ever Masters series semi-final by outlasting German wonder kid Alexander Zverev 3-6, 6-0, 6-4.
Zverev had been on a seven-match victory streak after winning his second title of the season in Munich last week.
However, after a bright start from the 20-year-old, tiredness kicked in as Cuevas, backed by a fervent support including Atletico Madrid duo Diego Godin and Antoine Griezmann, roared back to win the second set 6-0.
And Cuevas landed the only break in the final game of the deciding set when Zverev fired wide to set up a semi-final against Dominic Thiem or Andy Murray's conqueror Borna Coric.
In the Women's Madrid Open, defending champion Simona Halep cruised back into the final for the third time in four years with a 6-2, 6-3 success over Latvia's Anastasija Sevastova.
Halep also thrashed the world number 22 two weeks ago in Stuttgart and there was never any danger of an upset as the Romanian reeled off five straight games to close out the opening set.
Sevastova hinted at a fightback early in the second as she got out to a 3-0 lead.
But Halep, who is also into the semi-finals of the women's doubles with compatriot Irina-Camelia Begu, showed no signs of lacking in energy as she bounced back in emphatic fashion to win the last six games for the loss of just 14 points.
Halep will face in-form Frenchwoman Kristina Mladenovic or Svetlana Kuznetsova in Saturday's final.