Djokovic hammered France's Richard Gasquet 6-1, 6-2 as the top seed motored into final four. Nadal was equally ruthless with Australian qualifier Marinko Matosevic 6-4, 6-2. (Agencies)
Nadal leads his Serbian rival 20-15 in their career series, winning the last two in Monte Carlo and Roma after Djokovic had claimed the previous seven.
Milos Raonic and wildcard Vasek Pospisil set up an all-Canadian semi at the bottom of the draw.
Pospisil, living the dream week of his career, had it easy in his quarter-final as Russian opponent Nikolay Davydenko retired with a respiratory ailment while trailing 3-0. Raonic, overcame Latvia's Ernests Gulbis 7-6 (7/3), 4-6, 6-4.
Pospisil had reached the quarter-finals with his first top-10 victory, a third-round defeat of Tomas Berdych.
Djokovic, a three-time champion in Canada who is bidding for his third-straight title at the event, won his eighth match out of nine against Gasquet and his sixth in a row in the series.
"Everything was working in my game. It was close to the perfection. In every part of my game I did almost my best," said the winner.
"From the start I tried to dictate the play on the court and be in control of the rallies. I've done really well. The serve was very efficient, very high percentage of first serves, a lot of aces, a lot of free points,” he added.
Djokovic hammered France's Richard Gasquet 6-1, 6-2 as the top seed motored into final four. Nadal was equally ruthless with Australian qualifier Marinko Matosevic 6-4, 6-2.