The fifth-seeded Austrian, who ended Nadal's 21-match and 50-set winning streak on clay Friday, needed 85 minutes to dispose of his South African opponent, seeded sixth.
Thiem, the runner-up to Nadal in the 2017 Madrid final and still chasing a maiden Masters title, will face German second seed Alexander Zverev, who swept past Canadian teenager Denis Shapovalov 6-4 6-1, in Sunday's championship match.
"I will try everything on Sunday. A Masters 1000 title would mean a lot to me because it's obviously really tough to win one," said Thiem.
"To be honest, I thought also myself that I was pretty far away before this week started. Now I'm in the finals again, which is amazing for me." Thiem is playing in just his third tournament since a right ankle fracture suffered at Indian Wells while US Open runner-up Anderson was competing in his first semi-final at Masters level, ending a run of 10 prior losses in quarter-finals at this level.
The 24-year-old Austrian broke Anderson in a nine-minute opening game which was enough to secure the first set in 49 minutes.
A double fault gave Thiem the decisive break to open the second set and he broke again for a 4-1 lead before securing victory with a service winner as he reached his 15th career final and fifth in a row on clay.
Thiem said he is feeling stronger after his ankle injury as he builds up to the French Open later this month and has tried to forget recent losses to Nadal in Monte Carlo and his shock exit at the hands of Greek teenager Stefanos Tsitsipas in Barcelona.
"There was a little bit of lack of confidence in Monte Carlo and Barcelona," he said.
"It took me a while until I was moving my best again, until I was playing my best again. I think the level of my game increased especially in this week." Zverev, 21, took less than an hour to see off 19-year-old Shapovalov, the youngest player to reach the semi-finals in Madrid.
"This is the earliest I've finished all week," joked Zverev. "Now I don't know how to do for the next four hours."
Coming off a successful title defence in Munich last week, Zverev had faced just one break point all week before Saturday and was never troubled by Shapovalov who will at least have the consolation of breaking the world's top 30 for the first time next week.
Shapovalov had lost to Zverev in the Montreal Masters semi-finals last year and before this week had never won a main tour clay-court match.
On Saturday, his challenge quickly unravelled when Zverev put together a seven-game run from 3-4 down in the first set to a 4-0 advantage in the second.
(This story has not been edited by Business Standard staff and is auto-generated from a syndicated feed.)