Top seed Williams mastered Danish 12th seed Caroline Wozniacki for the second time in as many tournaments, winning 2-6 6-2 6-4, while ninth seed Ivanovic won a dramatic clash with fifth-seeded Russian Maria Sharapova 6-2 5-7 7-5 in Cincinnati.
American Williams dropped the first set against Wozniacki - just like she did in Montreal earlier in August - but recovered to advance to yet another WTA Premier final.
Williams remains on track for her first title at the event, after losing the final in Ohio last year to Victoria Azarenka.
Wozniacki took the first set in commanding fashion, breaking the Williams serve thrice in succession - with none of the three games getting to deuce.
Williams returned the favour early in the second set, with the three breaks helping her to a 4-1 lead before the 17-time major winner steadied her own service game to level the match.
Continuing the theme of the first two sets, neither player could hold serve until the sixth game of the decider - when Williams consolidated for a 4-2 lead.
And serving for the match a game later, Williams was uncharacteristically broken to love as Wozniacki stayed alive.
But at the second time of asking, Williams served it out to improve to an 8-1 career record against former world number one Wozniacki.
Serbia's Ivanovic avoided an almighty choke in her semi with Sharapova, after blowing a 4-0 second-set lead.
Ivanovic was sitting pretty with a set and double-break buffer, having faced only two break points to that stage - saving both.
But Sharapova, as she did a day earlier against second seed Simona Halep, clawed her way back into the contest, reeling off five straight games from 5-2 down to send the match to a decider.
Ivanovic left the court at the culmination of the set, and was the first to be broken in the third as Sharapova loomed to complete an almighty comeback.
The pair would trade breaks across the next two games, before the four-time major winner consolidated for a 4-2 lead.
But the comebacks kept coming as Ivanovic broke back to square the set at 4-4, only to get broken again as Sharapova served for the match.
Ivanovic then saved two match points in the 10th game before breaking back, and the Sharapova serve wilted again in the 12th game as the Serb - finally - ended proceedings in two hours 46 minutes.
Williams holds a 6-1 head-to-head record over Ivanovic, although the latter has beaten her in 2014 - a famous three-set win at the Australian Open.