Jessica Pegula beat Iga Swiatek in a match that lasted almost three hours to book her spot in the final of the Cincinnati Open.
Third seed Pegula won 7-5 4-6 6-4 against the six-time Grand Slam champion in a contest featuring 13 breaks of serve.
Pegula and Coco Gauff, who beat unseeded Czech Sara Bejlek 6-4 6-1 earlier on Saturday, will contest the first all‑American women’s final in Cincinnati in 56 years on Sunday.
Rosie Casals beat Nancy Richey in the 1970 final.
Pegula said: “I felt like we were playing well at times and then not playing well at times, so it was really tough to get a gauge on the match.
“Sometimes there’s matches like that where you just see a lot of breaks back and forth, and I just kept telling myself to not get too upset about it.
“It is a little emotionally draining.”