Kasatkina battles past Pegula to set up Charleston final meeting with in-form Collins
Kasatkina, who needed a lengthy medical timeout in the third set, booked her place in Sunday's final after prevailing 6-4, 4-6, 7-6(5) in 2hr 45min against home hope Pegula.
The Russian fourth seed finished the semi-final with her right leg heavily strapped after a gruelling scrap against her opponent.
Kasatkina looked to be in trouble in the final set tie-break after Pegula raced into a 3-1 lead.
But the 26-year-old – who won the Charleston crown in 2017 - showed great courage to rally back and take control.
She moved to double match point at 6-4 in the tiebreak after Pegula smacked a return into the net.
Pegula saved the first match point after Kasatkina hit a forehand long, but the Russian made no mistake on the next point, whipping a superb crosscourt forehand beyond her opponent to seal victory.
Kasatkina will play the in-form Danielle Collins in Sunday's final, after the Miami champion eased past Maria Sakkari 6-3, 6-3.