
The Greek who turns 20 on Sunday, will aim for the title against either top seed Rafael Nadal or Russian Karen Khachanov after saving a match point against Anderson.
Tsitsipas became the first player since 2014 to beat four top 10 players in a Masters 1000 event; Jo-Wilfried Tsonga did it here in 2014.
He is the first unseeded finalist in Canada since Nicolas Kiefer in 2008.
Tsitsipas worked for two hours, 48 minutes to secure his upset of the hard-serving South African, with Anderson going down with 10 aces.
Tsitsipas will be playing his second ATP final after losing to Nadal on clay in Barcelona in the spring.
The youngster who beat second seed Alexander Zverev in the quarter-finals after also accounting for Dominic Thiem and Novak Djokovic in earlier rounds, advanced on his third match point.
The outcome was decided in a tight third-set tiebreaker, with Tsitsipas blowing his first two winning chances with a double-fault and a forehand error.
Anderson missed out on a match point of his own serve as Tsitsipas slammed over a backhand cross-court winner.
The winner saved all four break points he faced while breaking Anderson once in the afternoon struggle.
Victory assured Tsitsipas the 15th ranking after starting this week on 27th.