Schwartzman, who beat the Spaniard for the first time in 10 meetings in Rome three weeks ago, was unable to contain the 12-time champion on his favourite Court Philippe Chatrier despite his best efforts.
Nadal, who is yet to drop a set this tournament, extended his win-loss record at Roland Garros to 99-2 to stay on course for a 20th major title and Roger Federer’s men’s record.
Nadal is through to a 13th French Open final and it’s the sixth time that he has made it through to the showpiece without dropping a set.
He said: “I had a couple of mistakes. He played some good points. I knew against Diego it’s very difficult until the end.
“Two and a half weeks ago I lost in Rome, so I expected a very tough match. I’m happy with the way I played.
“With these conditions it’s very difficult, and it’s still incredible to be in the final again. Thanks to my team, my family. It’s a beautiful moment for me.”
Schwartzman had already knocked out US Open champion Dominic Thiem in a five-set epic and, with the ball still bouncing much lower than usual, Nadal came into the match wary of the Argentine.
The first set lasted 67 minutes alone with Schwartzman breaking Nadal once and the Spaniard having to save three other break points before taking it.
He moved a step closer after claiming a more comfortable second set as Schwartzman lacked the attacking intensity he had shown in Rome.
He looked down and out at 1-3 in the third set but dug in admirably, breaking Nadal twice in succession to pull back to 4-4. Now it was Schwartzman dictating much of the play but, with the Spaniard’s hold for 6-5, the door was closed.
It was eventually settled by a tie-break which Nadal ran away with to ensure he reached the final in Paris without dropping a set for the sixth time. He will now get his opportunity to join old foe Federer as the greatest of all time in the men’s game.