World number one Iga Swiatek avoids upset against Danielle Collins in Montreal
The top-ranked pole suffered a scare after dropping the second set but hit back in the third to book her spot in the semi-finals.
World number one Iga Swiatek has advanced to the semi-finals in Montreal for the first time, where she will face American Jessica Pegula.
Swiatek, who has been the top-ranked woman for 72 weeks, defeated American Danielle Collins in three sets 6-3 4-6 6-2.
Collins fought back in the second set but the Polish star took advantage of the second serve throughout the match, breaking Collins twice in the last set to seal the victory.
After the match, Swiatek said she is "really proud" to go through to the semi-finals.
"I really wanted to play powerful and I'm pretty happy that I managed to even increase the power in the third set," she said.
"For sure, I was looking for that. Today I felt like I really needed to go even higher in terms of the intensity."
She will face Pegula, who defeated doubles partner and American Coco Gauff to end her six-match win streak in three sets 6-2 5-7 7-5.
The marathon match lasted more than two hours with Pegula holding serve to take her through to the semis.
Pegula said after the match that she wanted to stay "as tough as possible" and "keep the pressure on early".
"It's always tough to play your doubles partner, you know exactly what you're trying to do. It just came down to the wire and who was going to compete better."
Former Wimbledon champion Elena Rybakina battled into the early hours as she came from a set down to beat Daria Kasatkina shortly before 3am local time.
In the semi-finals she will face Liudmila Samsonova, who beat Belinda Bencic 6-4 6-4.