Ash Barty recovered from 4-6 4-5 down to beat Elina Svitolina to win 4-6 7-6(5) 6-2 to reach the Stuttgart final on Saturday.
Svitolina made her way to the semis after beating defending champion Petra Kvitova, and was on the cusp of reaching the final before the world number one fought back.
Barty took the win on her 25th birthday and could serve herself up a present on Sunday.
Tokyo 2020
Superb Sorribes Tormo dumps Barty out of Olympics
Svitolina dominated in the first set with a reliable serve taking her to 6-4, with Barty taking just six points off Svitolina’s serve.
Barty raced into a 3-0 advantage in the second set before Svitolina mounted her own resistance, taking four games in a row at 4-1 down, forcing Barty to break and rescue the match, winning the set on a tiebreaker 7-6(5).
The Australian pressed home her best form in the third set, breaking Svitolina twice and giving away just five points on her service.
Aryna Sabalenka and Simona Halep take part in the other semi-final to decide Barty's opponent for Sunday's match-up.

Trailblazers - The inspiring story of Serena Williams

Tokyo 2020
Osaka, Barty, Watson begin bid for Olympic tennis glory this weekend
23/07/2021 AT 05:02
Tokyo 2020
Murray gets tough Olympic draw - faces Auger-Aliassime in singles opener
22/07/2021 AT 07:58