Bartoli hit 20 unforced errors and seven double faults in a wayward first set to set up a clash with second seed Dominika Cibulkova in Sunday’s title decider.
Slovakian Cibulkova enjoyed an easier win in her semi-final, beating Russia’s Nadia Petrova 7-6(8) 6-1 to progress.
Bartoli’s inconsistent serve almost cost her the match, the Frenchwoman slapping down 43 double faults in three matches so far in the tournament.
But Taiwan’s Chan, who beat Jelena Jankovic in the quarter-finals, tightened up in the second and third sets as Bartoli began to land more and more of her double-handed ground-strokes.
Polona Hercog wasted no time in reaching the final of the Swedish Open in Bastad with a 6-1 6-3 win over Mona Barthel.
The Slovenian, seeded seven and the highest-ranked player left in the draw, was a class above her German opponent, sealing the victory in just over an hour.
Hercog will face Mathilde Johansson in the final after the Frenchwoman overcame a stern challenge from home favourite Johanna Larsson.
Larsson pushed Johansson all the way, but lost two tight sets 6-4 6-4 in 110 minutes.