Nadal, 27, will now face either Japan’s Kei Nishikori or David Ferrer in Sunday’s final.
“After I think a great match yesterday, to have the confirmation today that the improvement is real is very good news for me,” said Nadal.
“And being in a final here in a difficult tournament at home after losing two weeks in a row in the quarter-finals means a lot to me.
“This is great news in order to go out and play tomorrow’s match but also for what may come in the future.”
Meanwhile, eighth seed Maria Sharapova will play Romania’s fifth seed Simona Halep in the women’s final.
The Russian sealed a 6-1 6-4 victory over third seed Agnieszka Radwanska in 68 minutes to reach Sunday’s showpiece.
“I really challenge myself to improve on clay courts because that was never my favourite surface in the beginning of my career,” said Sharapova.
“I feel really good physically. I put in a lot of matches in the last few weeks but that’s what I want.”
Halep, meanwhile, beat Petra Kvitova 6-7 (4-7) 6-3 6-2 to reach her first final at Tour level.
MORE: The latest football news
MORE: The latest tennis news
BIOGRAPHY: Jerome Boateng
BIOGRAPHY: Danny Rose