Bianca Andreescu survived a wobble near the finish line to reach the Thailand Open semi-finals and edge a step closer to a long-awaited title.

The Canadian had a stellar campaign on hard courts in 2019, winning tournaments at Indian Wells and Toronto before topping those with a US Open triumph, denying Serena Williams a 24th singles grand slam in what would be the American's last major final.

Injuries and inconsistency have blighted progress since then, and there have been no more trophy celebrations, but Andreescu is still only 22 and believes she has a lot of winning still to do.

She was cruising at 6-0 5-1 against Ukrainian Marta Kostyuk in Friday's quarter-final, before her opponent found inspiration and took the second set to a tie-break.

Andreescu was not to be denied, though, closing out a 6-0 7-6 (7-3) victory, and it will be another player from Ukraine next, with Lesia Tsurenko earning a shot at the top seed after a 6-1 6-1 drubbing of German sixth seed Tatjana Maria.

Addressing the fightback from Kostyuk, Andreescu said: "I don't think I started playing bad in the second set, I think she just raised her level a little bit. She's always a tough opponent. I definitely wasn't expecting anything easy."

On her own ambitions, Andreescu said: "I'm hoping to win the tournament, I really believe in myself."

The other semi-final in Hua Hin will be an all-Chinese battle between Zhu Lin and Wang Xinyu after they saw off Slovenia's Tamara Zidansek and Britain's Heather Watson respectively.

At the Lyon Open, French top seed and home favourite Caroline Garcia fended off Italian Jasmine Paolini 7-5 7-5 and faces a semi-final against Colombian Camila Osorio, who had a 6-4 7-6 (7-3) victory against 18-year-old Czech Linda Noskova.

American Alycia Parks, who won two WTA 125 tournaments in December while many players were enjoying an off-season, has brought that form to this week's event. The 22-year-old, ranked 79th in the world, scored a 7-5 6-2 win against seventh seed Danka Kovinic and will face Maryna Zanevska next after the Belgian had a 3-6 6-1 6-2 win against Russian fifth seed Anastasia Potapova.