Czech Barbora Strycova defeated former number one Ana Ivanovic 7-6 (7/5), 6-3 at the Dubai Tennis Championships.
After her opponent won the hour-long first set with a comeback in the tiebreaker, Ivanovic came up short in a run of three breaks in the second set.
The 2008 French Open winner found herself trailing 3-5, with a return wide on the first of three Strycova match points marking the end a game later.
Strycova will Friday face Caroline Garcia for a place in the final after the 38th-ranked Frenchwoman beat Germany's Andrea Petkovic 6-3, 6-4.
"It feels great, I'm happy about it. I'm happy the way I played," the Czech said. "I'm playing Caroline tomorrow. She's a young gun, I'm looking forward for that.
"I believed myself today, and I changed some things before I went on court. I lost my previous matches against Ana, so I had to change a little bit the return.
"I was trying to be aggressive because the conditions on this court are really fast."
Garcia won after suffering two previous losses to Petkovic.
"You always have to fight and work hard against Andrea, she is big fighter, always trying to come back," Garcia said.
Sara Errani struggled through a match littered with 39 break point chances to post a difficult 4-6, 6-1, 6-4 defeat of Madison Brengle.
The Italian, who played the 2013 final in Dubai against Petra Kvitova, will next play against Ukraine's Elina Svitolina who beat American Coco Vandeweghe 6-4, 1-6, 6-2.
Errani converted on ten of 22 break points while American Brengle converted seven of 17.
"It was difficult for me to play the ball, I could have lost easily, I just kept fighting.
"Just to be in the semi-final for me is an amazing result. I'll try to play the next match, doing my best."