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.
French Open champion Halep, who is still without a full-time coach after splitting with Australian Darren Cahill last year, was made to pay for missed opportunities in the second set.
After failing to convert a break point to go 3-1 ahead, and another in an eight-minute game for a 4-2 lead, the former world number one lost concentration in the ninth as Bencic broke to love and served out easily for the second set.
That allowed Bencic to continue to grow in confidence, taking control of the points as she won six games in a row to lead 3-0 in the decider.
She regained her double break for a 5-2 advantage and, after a touch of nerves as Halep provided resistance, closed out victory in two hours and 19 minutes.
Earlier, Australian Open finalist Petra Kvitova reached the semi-finals with a comfortable win over Slovakia’s Viktoria Kuzmova.
The two-time Wimbledon champion, seeded second, cruised to a 6-4 6-0 victory, setting up a last-four match against Chinese Taipei’s Hsieh Su-Wei.
The 33-year-old Taiwanese, who beat Germany’s Angelique Kerber in the previous round, took another notable scalp by beating Czech fourth seed Karolina Pliskova.
- Live scores, schedule and results
- Alerts: Get tennis news sent to your phone