Estonian Kontaveit, ranked No.30 in the world, claimed her fourth top 20 win of the season as she prevailed 6-4 6-3 on Saturday (AEST).
Kontaveit also defeated Bencic in the 2020 Australian Open, meaning she is 2-0 in their head-to-head rivalry.
Czech left hander Kvitova awaits in the last four, after the No.2 seed defeated Bencic's Swiss compatriot Jil Teichmann 6-4 6-4.
Teichmann beat Kvitova in their only previous meeting, but the world No.10 had too much on this occasion, along with the backing of the crowd to boot as she chases a 29th singles title of her career.
The other semi-final will see No.1 seed Iga Swiatek face Maria Sakkari.
Last year's French Open winner Swiatek reached her first semi-final since May – when she landed the prestigious title in Rome – by overcoming Elena Rybakina 7-6 (7-5) 6-2.
Sakkari, meanwhile, ended Tereza Martincova's hopes in straight sets.
Greek star Sakkari ended Swiatek's reign as Roland Garros champion in June, beating the Polish 20-year-old in the quarter-finals in Paris.