A nervy world No.18 committed 31 unforced errors in blustery conditions as Barty broke Berten's serve four times.
The top seed, who claimed the Montreal title in 2016, won seven of the last eight games as she wrapped up a straightforward victory over the 22-year-old Australian in one hour and 11 minutes.
A tired Simona Halep, upset over how her matches are scheduled, beat Ashleigh Barty 6-4, 6-1 on Saturday to reach the final Rogers Cup final.
With the win Stephens advances to her second consecutive Rogers Cup semifinal after falling to Caroline Wozniacki previous year.
Halep let off steam at the Women's Tennis Association after her quarterfinal Friday for giving her a hard schedule on a week in which she played twice on the one day due to a rain delay.
"I'm very happy to come through and get a little bit better during the match": Ashleigh Barty.
She then raced through the second set 6-1 with minimum fuss.
She eventually managed to break the American in the seventh, but Stephens replied with her own and ultimately closed out the match 6-3 6-3.
Romanian Halep, who had beaten Stephens in Paris in June, claimed her second Montreal title in three years and third for the 2018 season. "Simona Halep raises her game at just the right time", a commentator said anxiously. "Just going to kind of take it all in, realize I did a good job this week, and I can be proud of myself for that". Sharapova had a lot of spunk and great rallies for her French opponent and she combined some good tactics, to lead in the first set 2-all but the Frenchwoman played a patient game and soon leveled the score to 3-all.
Stephens led throughout the second set, breaking Halep twice, but the Romanian took control of the third set, turning a break into a 5-2 advantage.
The Romanian broke Barty in the opening game and broke again for a 4-1 lead en route to taking the first set. I got better than the last final we played.