It was a day to forget for Halep, who fell victim to Vondrousova 6-2 3-6 6-2.
Halep responded after losing the opening set, dropping just three service points to level the match in fine fashion.
However, the former world number one – who double-faulted to hand a break back early in the third – fell behind 5-1 and it was a bridge too far as Vondrousova claimed her first top-10 win.
Next up for Vondrousova – who ensured two teenagers reached the Indian Wells quarters for the first time since 2009 following Bianca Andreescu's upset of Wang Qiang, which set up a match against Garbine Muguruza – is Elina Svitolina.
Ukrainian sixth seed Svitolina needed three hours, 11 minutes to overcome Ashleigh Barty 7-6 (10-8) 5-7 6-4 in the longest WTA match of the year.