Top seed Caroline Wozniacki saved a match point to beat Angelique Kerber and reach the final at Eastbourne for the second year in a row.
The Dane, ranked second in the world, came back to win 2-6 7-6 (7-4) 6-4 against the German fourth seed.
Kerber hit 42 winners to Wozniacki's 39 but the two-time Grand Slam winner could not overcome Wozniacki's defence.
Wozniacki will face Aryna Sabalenka in the final, following her 6-3 1-6 6-3 win over Agnieszka Radwanska.
Wozniacki lost 6-4 6-4 to Czech Karolina Pliskova - who went out to Sabalenka this year - in the 2017 final.
The Dane, who won her maiden Grand Slam at the Australian Open in January, grew frustrated in the opening set as she racked up the unforced errors.
At 5-2 down she had a heated on-court conversation with her dad and coach, Piotr, before Kerber served out the first set.
Wozniacki produced stunning comeback against Kerber
Wozniacki appeared more focused in the second set, racing to a 4-2 lead, before Kerber converted her second break point to force the match back on serve.
The German, a former world number one, had a match point on her service game but Wozniacki forced a tie-break and ultimately a third set.
Wozniacki broke after a regulation first four games and held her nerve as Kerber twice held to love to serve out the match.
Sabalenka, ranked 45th in the world, recovered from an error-strewn second set to outmuscle former world number two Radwanska in a match that saw 14 breaks of serve.
"I tried to put the ball in and not go crazy for every shot. I think that was the key," said Sabalenka, who will be seeking her first WTA Tour title in Saturday's final.
There were six breaks of serve in the opening six games before Sabalenka took a 4-3 lead over the 2008 champion.
Returning strongly on the Radwanska serve, the Belarusian eventually took the first set in 44 minutes.
A lob winner allowed Sabalenka to break to begin the second set, but the Pole hit back straight away as her opponent's heavy hitting failed to pay off.
Having not won a game on her own serve in the first set, Radwanska reeled off six consecutive games to force a deciding third set.
Radwanska moved into a 3-2 lead thanks to some clever net play, but Sabalenka found her forehand again to force the match back on serve.
And, despite two double faults in the next game, Sabalenka held serve before securing the vital break to see off the Pole.
Elsewhere, Britain's Katie Boulter lost to Kirsten Flipkens in the final of the Fuzion 100 Southsea Trophy.
Boulter went down 6-4 5-7 6-3 to the Belgian, who leaves the event having won both the doubles and singles titles.