Karolina Muchova snapped U.S. Open champion Aryna Sabalenka's 15-match win streak to shock her 7-6(5) 2-6 6-4 in the China Open quarter-finals on Friday, while Olympic champion Zheng Qinwen beat Mirra Andreeva 5-7 6-0 6-4 to reach the semi-finals.
Czech Republic's Muchova, who has now beaten three-time Grand Slam winner Sabalenka in their last three meetings, will face home favourite Zheng on Saturday, with Coco Gauff playing Paula Badosa in the other semi-final.
A double fault by Muchova put Sabalenka on the verge of winning the first set, but the world number 49 saved two set points to force a tiebreak, which she won.
Sabalenka bounced back in the second set, cruising to 6-2 as Muchova only managed to score half of her service points.
The Belarusian went 4-2 up in the third set but Muchova persisted through long rallies, getting the better of an exhausted Sabalenka on the fourth break point to make it 4-4.
Sabalenka did not win another point as the 28-year-old Muchova won the next two games to hand the world number two her first loss since August.
The roller-coaster continued in the second quarter-final of the day as 17-year-old Andreeva and world number seven Zheng broke each other's serves in over half the games, with the momentum swinging wildly between the two.
World number 22 Andreeva went 4-0 up in the first set but Zheng bounced back, winning the next four games. Andreeva won the first set, but fell to a bagel in the second as Zheng dominated.
The crowd roared for Zheng as she took a decisive 5-4 lead in the third set with her ninth break in the match, joining Muchova in the semis.
"Muchova is a smart opponent. I have practiced with her before... I'll give my best," Zheng said.
'Not intensity but rhythm and flow': Coach Dilip
T20 WC: Classy South Africa crush Windies
IOC urges nations to sever IBA ties amidst heated feud
Ex-NIA chief Kumar to head BCCI's Anti-Corruption Unit
Hockey India league is back in a new avatar!