Doha - Australian Open champion Caroline Wozniacki continued her sensational start to the season beating two-time Grand Slam winner Angelique Kerber in three sets on Friday in Qatar.
Wozniacki won 7-6 (7/4), 1-6, 6-3 to progress to the semi-finals in a high-quality contest lasting almost two-and-a-half hours.
The Dane is also assured of holding on to her world No 1 spot after her main challenger Simona Halep pulled out of the tournament earlier in the evening because of a foot injury.
By advancing to the semi-final, Wozniacki becomes just the fourth woman in history to pass $30 million in tennis prize money.
Wozniacki hit 46 winners in a match free of controversy after the previous night on court when the Dane complained about her opponent Monica Niculescu's grunting.
She will play either Petra Kvitova or Julia Goerges in the semi-final.
Spain's Garbine Muguruza is through to Sunday's final - and will get a day's rest because of the withdrawal of Halep - after beating France's Caroline Garcia 6-3, 1-6, 6-4.
She said it was the best match she had played so far this season.
"I'm happy overall with the match because even though in the first set she played very well, you know, this kind of game and match changes a lot," said Muguruza.
"So I knew that if I keep concentrated and fighting, it could turn around."
Results from the WTA Qatar Open in Doha on Friday (x denotes seeding):
Caroline Wozniacki (DEN x1) bt Angelique Kerber (GER x8) 7-6 (7/4), 1-6, 6-3
Garbine Muguruza (ESP x4) bt Caroline Garcia (FRA x7) 3-6, 6-1, 6-4
Simona Halep (ROM x2) bt Catherine Bellis (USA) 6-0, 6-4