The American top-seed eliminated No. 3 Agnieszka Radwanska 7-6 (3), 6-4 in a semifinal Saturday night and will meet unseeded Romanian Sorana Cirstea for the championship.
Williams lost as many games against Radwanska as she had through a combined three matches coming into the sixth meeting between the two — all won by Williams, including last year's Wimbledon final.
"It was definitely one of the tougher matches," said Williams. "Obviously Wimbledon was another tough one. We actually have a lot of good matches."
Cirstea, meanwhile, continued her Cinderella run at the tournament with a 6-1, 7-6 (5) upset against Chinese fourth-seed Li Na in the other semi.
She's played Williams twice before and lost both meetings decisively.
"She's definitely not an easy player to play," Williams said of Cirstea. "Her results recently have been really consistent and she's found herself and she's playing better and better and more confident. It's going to be a really tough match."
Williams won the Rogers Cup in 2011 and 2001, both in Toronto. She's shooting for an eighth WTA title this year and has only lost one match (Wimbledon) since March.
"The main thing is I have to serve well, be aggressive, try to be in control, and go into the court with good mentality," Cirstea said about the final.
Radwanska and Williams traded breaks twice in the first set as the 123-pound Pole kept up with Williams's imposing power game. Radwanska dashed corner-to-corner at the baseline to make returns and led 6-5, but Williams held serve to force a tiebreak where she blasted a cross-court winner for a 6-3 advantage, then aced set point.
Williams, who finished the first set with 20 winners to Radwanska's five, called for a medical timeout early in the second for "gastrointestinal issues."
"I had some stomach issues and I had to settled them down," said Williams. "I'll be fine. I feel good."
She looked slightly out of sorts early in the set, going down a break and screaming at the ground after blowing an easy overhead smash.
But that didn't last.
Williams broke back and took a 4-3 lead by running Radwanska around the court with blistering offensive groundstrokes. She won a nearly 10-minute game to pull ahead 5-4 and broke Radwanska to finish off the match in one hour 51 minutes.
"She's was really playing a great match today," said Radwanska. "This is what makes her No. 1 in the world — playing unbelievable in the very important moments and very powerful shots. I couldn't do anything about that. I had some break points and I didn't take them."
Cirstea, meanwhile, came into her match having ousted two former world No. 1s in Jelena Jankovic and Caroline Wozniacki before dethroning defending champion and sixth-seed Petra Kvitova in the quarter-finals.
"A new day, a new match. It doesn't matter who I beat the day before or what I've done," said Cirstea. "It's just another day where I have to get out there and do the things to show the work that I've put in."
The 23-year-old looked loose and confident in the first set as she broke twice to go up 5-1, whizzing forehands past Li and skipping and jogging between points, perhaps to remind her 31-year-old opponent of their age difference.
After a between set visit from her husband, Li found her game in the second. She yelled and pumped her fist after breaking for 3-1, then battled through triple break point to hold serve at 4-1.
Cirstea, sensing the moment slipping away from her, called for a visit from her Australian coach Darren Cahill.
"He made me realize it's about the process, it's about getting better and improving," said Cirstea. "So I shouldn't have any pressure. I just need to do the same things I've done the first set. He's amazing. These victories are his in a way."
Against a vocal backdrop of Romanian shouts and cheers from the crowd, Cirstea broke back at 5-4 and again at 6-5 before Li forced a tiebreak.
Li, a former French Open champion, committed an unsightly 41 unforced errors compared to Cirstea's 29, but none was worse than her sixth double fault coming at matchpoint.
"I was feeling maybe I can win the second set and then we can come to a final set," said Li, who was last year's finalist after losing to Kvitova. "It's very tough. Today I didn't play (my) best tennis, but at least I try on the court."
Flags of blue, red and yellow waved in jubilation as Cirstea looked visibly emotional after locking down her best result of the year.
Cirstea has only one WTA title to her credit, coming all the way back in 2008 at Tashkent.
In doubles, Gabriela Dabrowski of Ottawa and Toronto's Sharon Fichman had their Rogers Cup run ended by Jankovic and Katarina Srebotnik of Slovenia in a 7-5, 6-3 loss in the semifinal.
Jankovic and Srebotnik will meet Anna-Lena Groenefeld of Germany and Czech Kveta Peschke for the title. Groenefeld and Peschke won 6-2, 6-4 over Russian duo Ekaterina Makarova and Elena Vesnina.