Nadal defeated his Russian opponent 7-6 6-4 in the semis, taking the first set tiebreaker 7/3.
Stefano Tsitsipas turns twenty on the day of the final - he got the better of US Open and Wimbledon finalist Kevin Anderson, winning 6-7 6-4 7-6.
The young Greek Tsitsipas saved a match point against Anderson to now set up a clash with world number one, Nadal.
"To win this match is important, it's very important to be in the final of Toronto," Nadal said after running his season record to 39-3 in a match, which ended after midnight local time.
"I am motivated every day when I wake up, there is always something to improve," said the 32-year-old.
"I want to stay around [in tennis] for as long as possible."
After seeing off not only Anderson but also Dominic Thiem, Novak Djokovic, and Alexander Zverev, Tsitsipas is the first unseeded finalist in Canada since Nicolas Kiefer in 2008.
"It feels like I am playing Davis Cup and everyone is backing me up and they are so supportive," Tsitsipas said.
"Four wins against top ten players - I would never imagine that I could pull this out in a single tournament.
"I do not know if I got lucky with all those players but somehow it happened that I played four from the top ten and managed to beat them, which is a huge achievement for me and for my game this week."
The final of the 2018 Rogers Cup starts at 8pm UTC in Toronto.