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.
Serena v Sharapova, Federer v Ferrer: Tennis’ most surprising head-to-head records
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

Big Four reunite, battle for year-end No. 1: What's left of 2022 season?
13/09/2022 AT 12:00
US Open
US Open takeaways: Amazing Alcaraz, 'young GOAT' Swiatek, Ruud, Jabeur shine
12/09/2022 AT 12:44