Seeded 11, Schwartzman rallied superbly to win a marathon contest. Anderson, the sixth seed at Roland Garros, produced some no-nonsense tennis to race into a 2-0 lead after winning the opening two sets 6-1, 6-2.
Argentina Davis Cup star Schwartzman continue to battle and a crucial break of serve allowed him to win the third set 7-5 and keep the match alive.
He played some of his best tennis in the fourth set, which he won 7-0 on a tie-break to take the thriller into a decisive final set.
Schwartzman looked the fresher player as Anderson started to tire and a 6-2 triumph set up a last four meeting against top seed Rafa Nadal.