Novak Djokovic is one step away from successfully defending his Madrid Open title after being handed a walkover win in his semi-final with Kei Nishikori.
In a meeting between the players with the most match wins this year, Nadal saved all five break points he faced against the 10th-ranked Goffin, and converted his chances in the second set to win his 13th straight match and tour-leading 32nd of the year.
The pair served up a sizzling second set, especially in the seventh game when Nadal finally broke the Belgian for a second time in the set at the fourth attempt after sensational rallies which had spectators in the Caja Magica rising to their feet in appreciation.
However, the two haven't met since last year's Rome Masters, since when Djokovic has been displaced by Andy Murray as world number one and parted company with coaches Marian Vajda and Boris Becker due to his poor form.
Djokovic now leads the head-to-head record against Nadal 26-23, including winning their last seven meetings (not to mention 15 straight sets) and their last three clashes on clay.
Rafael Nadal defeated David Goffin 7-6 (3), 6-2.
"I've been playing at a high level for many weeks, but I know tomorrow is a day when either I'll have to play really well or I'm not going to have many chances".
Nadal progressed to the last four after withstanding a tough challenge from David Goffin 7-6 (3), 6-2 at the Madrid Open on Friday.
"I can not promise to play or pull out right now", he said. Bet: the victory of Rafael Nadal.
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.
He will face the victor of the late night match between number 8 seed Dominic Thiem and Borna Coric, who knocked number one seed, Andy Murray out earlier in the week.
"The crowd is supporting me all the time. I feel that the altitude is helping me also". If Nadal wins the semi-final, it will further cement his place as the favourite for the Roland Garros title.
Halep with face in-form Frenchwoman Kristina Mladenovic or Svetlana Kuznetsova in Saturday's final.
Djokovic moved into the semi-finals of the Madrid Masters on Friday.