World number two Simona Halep was knocked out of the Dubai Championships as Swiss youngster Belinda Bencic again showed fight and resilience to reach the semi-finals.
Bencic, who saved six match points before beating Aryna Sabalenka in the previous round, won 4-6 6-4 6-2.
Halep, 27, struggled with her service game and was broken seven times.
Bencic, 21, missed two match points before claiming her third when the Romanian hit a forehand long.
The world number 45 goes on to play Ukraine's defending champion Elina Svitolina or Spain's Carla Suarez Navarro, who meet later on Thursday, in the last four.