It was the first set Nadal had lost in his last 38, stretching over three French Open campaigns - meaning Bjorn Borg's record of 41 straight sets won remained intact.
Whoever reaches the final from that side of the draw will face either Austrian seventh seed Dominic Thiem or unseeded Italian Marco Cecchinato in Sunday's final.
Nadal, 32, lost his opening service game and trailed 2-0 in the first set before recovering well in Paris.
But the 16-time major victor looked in danger of being beaten there for only the third time in his career, trailing a set and break on Wednesday to an opponent who had never previously been beyond the last 32.
Soon, with Nadal serving at 3-3, Schwartzman, who did make the 2017 US Open quarterfinals and the 2018 Australian Open fourth round, played the kind of point that kept wreaking the gasps: one on which Nadal appeared the lesser aggressor which, of course, looked weird.
On Thursday, it was rarely used as effectively.
Two-time runner-up Halep came back from a set down for the second time in the tournament to see off 12th seed Kerber, who was bidding to become the first German woman in the last-four since Steffi Graf in 1999.
The champion overturned an early deficit in the tie-break to lead 4-2 at the change-over and victory was assured when Marterer went long, allowing Nadal to celebrate just 24 hours after his 32nd birthday.
Play will resume on Thursday, with both matches finely poised.
Nadal quickly wrapped up the final two points needed to secure the second set and level the match before the world No 1 maintained his ascendancy during the third set with two breaks of serve to move ahead in the match, after saving four break points when he served out.