The 19-year-old American showed her mettle to defeat the Pole 7-6 (2) 3-6 6-4 after losing their previous seven encounters.
Gauff trailed 5-3 and 6-5 in the opening set, but having dragged herself back into it, capitalised on a series of unforced errors in the tie-break to nudge ahead.
The Polish player’s response was concerted as she took the second set to level, but it was she who faltered in the third as the number seven seed converted her fourth match point to go through.
Gauff will face unseeded Czech Karolina Muchova in Sunday’s final after she got the better of Aryna Sabalenka in the other last-four clash.
Second seed Sabalenka took the first set on a tie-break, but Muchova hit back to win 6-7 (4) 6-3 6-2 and also clinch her first appearance in a WTA 1000 final.