The Swiss master succeeded where others had failed by blunting the serve of the towering 6ft 8in (2.13m) Anderson to win 7-5 6-1.
Federer faced only one break point in the entire match and reeled off seven games on the trot to clinch the opening set and race to a 5-0 lead in the second.
"It was big to win the set and then to go on to break early in the second," Federer said. "Then (getting a) double break was like a bonus. From then on I was home basically.
"It was a really good match for me, basically."
His reward for winning was a semi-final clash on Saturday with Ukrainian giantkiller Alexandr Dolgopolov, who continued his fairytale run in the Californian desert by defeating big-serving Canadian Milos Raonic 6-3 6-4.
Dolgopolov has been a revelation at Indian Wells since he was thrust into the spotlight when he scored an upset win over world number one Rafa Nadal in the third round.
Players who register shock wins often fail to maintain their form on but the 28th seed has gone from strength to strength, beating three seeds in succession.
Raonic, one of the biggest servers in tennis, beat Wimbledon champion Andy Murray on Wednesday but found Dolgopolov too hot to hold.
"I just wish I could have served better. But other than that, he did the right things at the right times right away from the start of the match," said Raonic.
"He was a factor of why I didn't serve as well as I would have liked as well."
Not only did Dolgopolov succeed in breaking the Canadian's serve three times, including twice in the second set to overcome a 3-0 deficit, but showed he also has a serve to be reckoned with as he fired six aces, two more than his opponent.
"I was really happy with that. And I was able to get more returns than usually you can against him," said Dolgopolov.
"He serves really big and I knew I had to do that, and I'm quite pleased how I anticipated on his serve and have seen the toss of the ball and was really, really concentrated to get those serves back."
BNP Paribas Open results
7-Roger Federer (Switzerland) beat 17-Kevin Anderson (South Africa) 7-5 6-1
28-Alexandr Dolgopolov (Ukraine) beat 10-Milos Raonic (Canada) 6-3 6-4
- Sports & Recreation
- Alexandr Dolgopolov
- Milos Raonic