Serena Williams remains on course for a second title in the early weeks of the North American hard court season after battling through to the semi-finals of the Rogers Cup in Toronto.
Williams fought to a 4-6 6-3 6-2 victory against left-handed Czech opponent Lucie Safarova.
The 13-time Grand Slam winner is two wins away from another trophy, in what is just her fourth tournament of 2011.
The win sets up a clash with fifth seed Victoria Azarenka.
Williams, 29, is ranked 80th in the world after having a year of her career wiped out by injury and health problems.
Against fellow non-seed Safarova she was in early trouble but gained a break decisively in the fifth game of the deciding set, and then added another before serving out to love for the match.
Azarenka of Belarus won 6-1 6-2 against Galina Voskoboeva of Kazakhstan, who caused a major surprise by beating Maria Sharapova in the third round.
The other semi-final will feature Sam Stosur and Agnieszka Radwanska. Australian 10th seed Stosur ended Italian Roberta Vinci's impressive run, which included victories over world number one Caroline Wozniacki and Ana Ivanovic, with a 6-4 6-1 triumph.
Radwanska, seeded 13th, knocked out 11th seed German Andrea Petkovic 6-4 6-3.