World number two Aryna Sabalenka came from a set and a break down to see off Spanish wild card Paula Badosa and reach the WTA Stuttgart semi-finals for the third consecutive year on Friday.
The Belarusian won through 4-6, 6-4, 6-4 in two hours, 30 minutes and next meets Russian Anastasia Potapova who ousted French fourth seed Caroline Garcia 4-6, 6-3, 6-3, for a place in the final.
In a tight first set, Badosa saved three break points to serve out, and opened a 6-4, 4-2 lead before Sabalenka broke back for 4-4, reeling off seven games on the trot for a 3-0 lead in the third set.
In the decider, the pair traded serves with five breaks but 31st-ranked Badosa, who fell to Sabalenka in the semi-finals in Stuttgart last year, paid for a string of double faults with nine in total.
Sabalenka sealed victory on her second match point with a backhand into an open court nailing her 40th winner of the day on clay in the French Open warm-up tournament.
The Australian Open champion advances to her fourth semi-final in six tournaments this year, with her overall record now 22-3 for 2023.
Sabalenka is seeking her first Stuttgart title after two runner-up finishes in 2021 to Ashleigh Barty and in 2022 to Iga Swiatek.
World number one Swiatek faces Karolina Pliskova later Friday in her quarter-final.