The nine-times Rome champion, who had won all nine previous meetings against Schwartzman, struggled with his serve throughout the match and made a series of uncharacteristic unforced errors that proved to be his undoing.
The Italian Open was the Spaniard’s first tournament in over seven months and while he cruised through the previous two rounds, his rustiness showed from the outset against the 15th-ranked Schwartzman.
Nadal committed 30 unforced errors to Schwartzman’s 17 and had his serve broken five times.
“Losing that many serves, you can’t expect to win a match,” Nadal said. “So that’s something that I have to fix. I know how to do it.”
Nadal will now travel to Paris, where he will look to clinch a record-extending 13th French Open title.
Schwartzman will face Denis Shapovalov in the semi-finals after the Canadian defeated Grigor Dimitrov 6-2 3-6 6-2 for his 100th tour-level match win.
Earlier in the day, Novak Djokovic overcame a mid-match wobble against Dominik Koepfer before securing a 6-3 4-6 6-3 win over the unseeded German and a semi-final spot.
The top-ranked Serb had sailed through the previous two rounds, his first matches since being defaulted at the U.S. Open for hitting a line judge with a ball, but faced a potentially tricky test when Koepfer levelled the contest at one set apiece.
However, Djokovic regained his focus to close out the victory and stay on course for his 36th ATP Masters 1000 crown.