Now only Dominic Thiem stands in the way of Nadal and what seems an inevitable 11th Roland Garros title.
The Spanish world number one edged a tight first set but then simply blew fifth seed Del Potro away.
It was swift and brutal. Del Potro had forced six break points during the first set but Nadal fended each one off.
Nadal, by contrast, had not had a sniff on Del Potro’s serve until, at 5-4, two swishes of his forehand forced two set points, the second of which he converted when the Argentinian netted.
Del Potro had required treatment on a hip problem suffered early in the first set and he visibly wilted in the second, raising his arms in mock celebration when he won a solitary game while already 5-0 behind.
Relentless Nadal broke to love at the start of the third, and as he moved on to match point an exhausted Del Potro paused for breath, bent double, as if he had been punched in the stomach.
He probably felt as though he had been, as Nadal completed a devastating 6-4 6-1 6-2 victory.
His record at Roland Garros now stands at 85 wins and two defeats. One of those victories came against Thiem in last year’s semi-final and was, if anything, more comprehensive than this one. However, Thiem did beat Nadal on the clay of Madrid last month.
Ominously, perhaps, for Thiem, Nadal said: “I have to improve a little bit.
“I believe I can be ready for that final. It’s going to be a tough one but I will fight all the way.”
Earlier Thiem needed to survive a nasty bout of the jitters to see off Marco Cecchinato and reach his first grand slam final.
The Austrian was in control of his semi-final against the world number 72, holding three set points in a tie-break for a 2-0 lead.
However, having squandered one set point, he went in for a simple backhand volley winner only to dump it into the net.
The third quickly disappeared as well and Cecchinato had set points of his own, but Thiem finally put the Italian away before going on to win 7-5 7-6 (12/10) 6-1.
“I think the big key was the second set because it was a close tie-break,” said the 24-year-old.
“I saved two set points and luckily I won it. It was 6-4 and the one thing I wanted to do was win the set – and I missed an easy volley at one moment which was not a nice feeling.”
Cecchinato’s catalogue of drop shots which helped account for Novak Djokovic kept Thiem on his toes throughout, but once the pivotal tie-break went the seventh seed’s way Cecchinato’s unlikely run was all but over.
His Paris heroics have not exactly been the uplifting tale they should have been, though.
Cecchinato’s career has been tainted by his involvement in a match-fixing scandal; he was banned for 18 months in 2016 before having the suspension overturned. The 25-year-old has refused to answer questions on the matter throughout the fortnight.
Nevertheless, Cecchinato can look back on a breakthrough tournament – he had never won a match at a grand slam before beating Marius Copil 10-8 in the fifth set last week.
“If I’d won the second set I think it is totally different, the third set,” he said. “But after the loss, I went a little bit down mentally.”
The Romanian is yet to win a Grand Slam title but looks ominously ready to break her duck at Roland Garros.
Muguruza had hammered Maria Sharapova in the quarter-final but Halep was a different proposition entirely – and it seemed she knew it. A nervous start from Muguruza was immediately pounced upon by Halep for a break in the opening game.
Half an hour later 1-0 had become 6-1 and the challenge of Muguruza, who would have taken over at the top of the rankings with a victory, appeared to be fading fast.
She improved in the second set, breaking early on only to be pegged back at 4-4 before Halep held a marathon ninth game and broke for a 6-1 6-4 win.
American Sloane Stephens, the 10th seed, now stands between her and a first grand slam title.
It will be the 26-year-old Romanian’s fourth appearance in a major final, having also lost to Caroline Wozniacki in Australia in January.
But Halep feels better equipped to finally break her duck in Paris. She said: “I have more experience now.
“I feel calm. I feel that I have to enjoy it today, the victory, because it was a great match.
“Then I have two more days until I play the final. So I will stay chilled. I will relax. We will see what is going to happen Saturday, but for sure I will fight for every ball.”
Stephens beat her fellow American and great friend Madison Keys 6-4 6-4 in a repeat of last year’s US Open final.
That match was also won, comprehensively, by Stephens for her first grand slam crown.
This was a less clear-cut victory but an early break of serve in each set put Stephens in control.
Keys slipped two breaks down in the second but although she pulled one back Stephens served out for the match.
“It’s always hard to play someone from your country, and such a good friend, so I’m pleased to get through that,” said Stephens.
“It will be another great opportunity on Saturday and I’m really looking forward to it.”
The 12-time grand slam winner was stunned in the quarter-finals at Roland Garros by world number 72 Marco Cecchinato.
Italian Cecchinato won in four sets, scrambling over the line in an epic tie-break on his fourth match point.
Afterwards a dazed Djokovic, who has struggled with injury for much of the last year, was asked when he planned to make his first grass-court appearance.
He replied: “I don’t know. I don’t know if I’m going to play on grass. I don’t know. I don’t know what I’m going to do. I just came from the court. Sorry, guys, I can’t give you that answer. I cannot give you any answer.
“How do I regroup? I don’t know. I’m just not thinking about tennis at the moment.”
The Serbian needed lengthy treatment on a neck problem after dropping the first set.
But Cecchinato proved an even bigger pain in the neck for the 2016 Paris champion.
Djokovic had two set points at 6-5 in the second but went on to lose the tie-break.
Cecchinato was mixing things up to great effect, tying Djokovic to the baseline while throwing in regular, at times remarkable, spin-heavy drop-shots from the back of the court.
Yet Djokovic won the third set at a canter, and a suddenly frustrated Cecchinato was hit with a point penalty for unsportsmanlike conduct.
The storm seemed to have blown itself out and djokovic served for the fourth set at 5-3.
But from somewhere Cecchinato got a second wind, breaking back and forcing a tie-break.
It was a classic, Djokovic wasting three set points and Cecchinato unable to take the first of three for the match.
But on number four Djokovic left a looping backhand return which landed just in and Cecchinato celebrated a famous victory, 6-3 7-6 (7/4) 1-6 7/6 (13-11).
Cecchinato had not won a single grand slam match until he arrived at Roland Garros, but the 25-year-old is now the first Italian to reach the semi-final since Corrado Barazzutti 40 years ago.
He said: “Maybe I’m sleeping. It’s amazing. It’s unbelievable for me. For me to beat Djokovic in a quarter-final at Roland Garros it’s amazing.
“For me, it’s the first time semi-final grand slam. Now I need to think for the semi-final and I need some rest for recovery. I am very happy.”
— Roland-Garros (@rolandgarros) June 5, 2018