Jessica Pegula of the United States upset world number one Iga Swiatek on Saturday before wet weather left the American waiting to discover the identity of her WTA Montreal Open final opponent.
Fourth seed Pegula took advantage of an error-strewn display by Poland's Swiatek to complete a 6-2, 6-7 (4/7), 6-4 victory in 2hr 30min.
But heavy rain over the Montreal region washed out Saturday's second semi-final between third seed Elena Rybakina of Kazakhstan and 15th seed Liudmila Samsonova.
Rybakina, who battled through weather delays on Friday before clinching her semi-final berth in the early hours of Saturday morning, or Samsonova will now face a gruelling double-header with a well-rested Pegula awaiting in the final.
"It feels great," Pegula said after her win over Swiatek. "No better way to earn it, right? It was tough match. I felt like I was in control.
"But as the world number one does and a champion, she played some really great tennis at the end of the second set and in the third. So, she made me earn it."
Reigning French and US Open champion Swiatek, meanwhile, was left reflecting on a scratchy display that saw her suffer no fewer than 11 breaks of serve.
A jittery first set opened with five straight breaks of serve before Pegula finally managed to hold to take a 4-2 lead.
Swiatek continued to struggle with her serve in the next game, and Pegula was soon 0-40 up.
Although Swiatek fought back to level at deuce, she was soon in trouble again, yanking a forehand wide at break-point down to give Pegula a 5-2 lead. Pegula then served out for the set, taking a 1-0 lead with an emphatic ace down the middle.
Pegula threatened to wrap up victory quickly in the second set, serving for the match at 5-4 only to drop serve before Swiatek went on to force the tiebreak.
Pegula had Swiatek under pressure in the breaker, taking a 4-2 lead, before the world number one rattled off five straight points to level the match and force a decider.
It seemed as if Swiatek had weathered the storm in the final set, breaking Pegula twice early on to take a 4-2 lead. But once again Swiatek's service game unraveled, Pegula holding for 4-3 before breaking to make it 4-4.