Angelique Kerber will defend her Stuttgart Open title against fellow German Laura Siegemund in Sunday's final after seeing off Petra Kvitova.
The reigning champion needed just over two hours to see off the two-time Wimbledon champion in a gripping encounter, prevailing 6-4 4-6 6-2 as their eighth meeting went the distance.
Kerber dominated the opening set with some punishing forehands, Kvitova struggling for momentum after being broken twice in quick succession early on.
She found her rhythm in the second, though, and the pair battled through some thrilling rallies as a tie-break looked inevitable.
However, Kvitova finally found a chink in Kerber's impressive service display and took the final game against the serve to level things up.
Both players went on the attack in the decider, but it was Kerber who booked a final place, Kvitova wasteful with some of her groundstrokes - including crucially on match point.
She will meet compatriot Siegemund in the showpiece as her ground-breaking week continued, the 28-year-old dumping top seed Agnieszka Radwanska out in straight sets.
Siegemund had already beaten Simona Halep and Roberta Vinci on her way to the last four and she added Radwanska to that list with a 6-4 6-2 victory.
The world number 71 will now meet Kerber for the first time in the maiden final of her career.