Kerber battled to a 7-6 (7-3) 6-3 victory over Williams in a quarter-final lasting one hour, 36 minutes on Thursday.
In a first set of high intensity, eighth seed Kerber came from 4-2 down with back-to-back breaks to lead 5-4. With the opener slipping away, Williams showed her resolve to save the set with her fifth break point of a seven-minute game.
Despite Williams' tenacity to force a tie-break, the German took the initiative by winning the first three points and sealing the first set in 57 minutes.
With the momentum in her favour, Kerber edged out the seven-time grand slam champion in a closely fought second set to advance to the final four.
Earlier in the day, Swiss underdog Bencic continued her scintillating form by coming through a thriller against her close friend Karolina Pliskova, winning 6-3 4-6 6-3.
The 23rd-seeded Bencic started hot in the California desert, taking the first set with 14 winners and only six unforced errors, but Czech Pliskova hit back in the second.
With their first ever meeting going the distance, Bencic took the decider to extend her winning run to 12 matches and back up her upset of top seed and defending champion Naomi Osaka in the fourth round.
Canada's Bianca Andreescu will meet sixth seed Elina Svitolina of Ukraine in the other Indian Wells semi-final.