US Open champion Naomi Osaka overcame her emotions to roar back and defeat unseeded Zhang Shuai 3-6, 6-4, 7-5 in a roller-coaster China Open quarter-final on Friday.
The 20-year-old Japanese was broken on her first two service games and had tears in her eyes as the match threatened to slip away in the second set.
But the world number six gathered herself and — although she continued to look glum and flung her racquet about — found the resolve to pull through over three nail-biting sets.
Osaka faces either of the unseeded duo of Latvia's Anastasija Sevastova or Slovak Dominika Cibulkova in the last four.
The 45th-ranked Zhang — with the Beijing crowd on her side — raced into an early lead against an unusually erratic Osaka, who had won 24 of her previous 28 games.
The eighth seed, who stunned Serena Williams to win her maiden Grand Slam last month in New York, belatedly began finding some range.
But she continued to rack up errors and conceded the first set when she hit into the net. She was to make 66 unforced errors in all.
The 29-year-old Zhang, who has won two career WTA singles titles, saved six break points to take the lead in the second set.
Zhang broke to go 2-0 up and Osaka — who has admitted struggling with the fall-out from the US Open final, when Williams rowed with the chair umpire — began welling up.
But Osaka defied her emotions to avoid the upset, although she barely raised a smile even in victory.
Also, Denmark's Caroline Wozniacki booked her place in the semi-final with an easy victory over the Czech Republics Katerina Siniakova.
The world number 2 beat the qualifier 6-2, 6-3 to advance to her first semi-final since she won at Eastbourne in June.
In the men's quarter-finals, Argentinas Juan Martin del Potro beat Filip Krajinovic of Serbia in straight sets on Friday to advance to the semifinals in Beijing.
The Argentine world number four hit 12 aces en route to a 6-3, 6-0 victory, and held serve throughout despite Krajinovic having three break points which he failed to convert.
The former US Open champion advances to the last four of the competition, where he will face in-form Italian Fabio Fognini, who march towards a fourth title of the season with a 6-4, 6-4 victory over Marton Fucsovics of Hungary.
Nishikori reaches Tokyo semis
Tokyo: Local favourite Kei Nishikori thrashed fifth seed Stefanos Tsitsipas 6-3, 6-3 to reach the Japan Open semi-finals on Friday, edging him closer to a third Tokyo title.
Third seed Nishikori, who won the last of his 11 career titles in Memphis two years ago, made light of the danger posed by the young Greek with a ruthless victory in just 82 minutes.
After winning the Japan Open in 2012 and 2014, Nishikori will face the winner of Kevin Andreson or France's Richard Gasquet as he looks to advance to the final for the third time.
Earlier, Canada's Denis Shapovalov, who last year made unwanted headlines after smashing a ball at an umpire and fracturing his eye socket during a Davis Cup tie, squeezed past German Jan-Lennard Struff 4-6, 7-6 (9/7), 6-4.
Sixth seed Milos Raonic, a three-time Tokyo finalist, crashed out in straight sets, the big-serving Canadian toppled 7-6 (7/4), 6-3 by Russian qualifier Daniil Medvedev.