It will be Schnyder's second final of the year after San Diego, where she fell to Maria Sharapova, and she will be seeking the 11th title of her career.
Her opponent in the final will be second-seeded Slovak Daniela Hantuchova or fifth-seeded Czech Nicole Vaidisova, who were playing later today.
Schnyder's ability to mix up her shots gave the Swiss left-hander a slight advantage over the harder-hitting Bartoli, but she had difficulty maintaining her leads in the first set.
She broke to lead 2-0 but Bartoli hit two good passing shots and the sixth-seeded Schnyder netted a backhand to bring games back on serve in the fifth game. Although Schnyder immediately broke again to lead 4-2, Bartoli once more recovered the break.
Schnyder's ability to produce the unexpected earned her the only break in the tiebreak when a dropshot gave her a 2-1 lead and she closed out the set with a forehand winner.
Bartoli, who had her left thigh heavily strapped because of a hamstring injury, looked weary when the second set got underway and she barely competed as Schnyder rushed to a 4-0 lead for the loss of only four points.
Bartoli looked so much in distress that it appeared she might retire at any moment but instead she slowly began to work her way back into the match.
From 5-1 she rallied strongly, fighting off three match points on her own serve at 5-1 and breaking Schnyder in the next game.
Schnyder, though, maintained her composure and claimed victory by breaking Bartoli in the next game, forcing a backhand error.
REUTERS PDS RAI2020