Berdych, who has not dropped a set in his first four matches at the elite ATP Masters 1000 event, broke Anderson in the final game of both sets to seal the win in 90 minutes on a sizzling hot day at Indian Wells.
The 27-year-old Czech, who had never previously reached the last four here, will next face either defending champion Roger Federer or his long-time rival Rafa Nadal who were scheduled to meet in a mouth-watering quarter-final later in the day.
"It feels great," Berdych said courtside after beating Anderson for a sixth time in six career meetings. "I have been able to focus on my game, and especially today because Kevin has been playing great.
"I am happy to go through, and the fact that I haven't lost a set is just a nice bonus," added the sixth-seed, who has reached two ATP finals this season, in Marseille and Dubai, losing in both.
"It's the first one (ATP Masters 1000 event) of the year and I've already started this year quite well."
The opening set went with serve until the 10th game when Berdych benefited from an Anderson double-fault to clinch the set.
Neither player was able to break in the second set until the 10th game when Anderson blasted a forehand wide to give the Czech two match points while serving at 15-40.
Berdych needed only one of them as the towering South African, playing only the second quarter-final of his career in an ATP Masters 1000 event, dumped a backhand into the net.
Anderson, who had ousted Spanish world number four David Ferrer in the second round, served up eight aces and three double faults as he slipped to 13-4 for the season.