He quickly went up 3-0 in the first set as Shapovalov struggled on his own serve.
The loss capped a solid week for the player from Richmond Hill, Ont., who will rise to a career-high No. 15 when the new rankings are released Monday. Because things have to be on balance, on and off the court, for me to perform my best, especially now when I'm a father and things have changed in terms of priorities, in terms of who matters the most.
"It was my best serving performance of the tournament, " Djokovic said.
Shapovalov entered the match with only one career title - a modest ATP 250-level tournament in Stockholm last month - and having lost his three previous encounters against a 16-time Grand Slam victor considered among the all-time greats of tennis.
"Well, of course it's not the way I want to reach my first finals", Shapovalov said, referring to Nadal's injury. "Maybe he lost his focus a bit".
Sunday's final against another member of the "Big Three" in Djokovic, will be the first-ever Masters 1000 final of Shapovalov's career. "It was improving day-by-day for me in terms of level of tennis".
"It was tough for me to find a groove just because he was really, really picking his spots on the serve", Shapovalov said.
Shapovalov fired 11 aces to Djokovic's two and won 83 per cent of his first-service points.
The 33-year-old has battled multiple injuries throughout his career and also pulled out of the Paris Masters on his last appearance in 2017 before the quarter-finals.
The Serb was never threatened in the opening set, dropping only four points on serve as Shapovalov looked tight having not played on Saturday following Nadal's withdrawal. "Of course it's a tough ending but he was the better player", added the Canadian, who has now lost all four of his matches against 16-times grand slam victor Djokovic.
The 16-time Grand Slam victor continued dictating his rules on the court in the second set, breaking Shapovalov in the seventh game to take a 4-3 lead which he didn't squander. Furthermore, Djokovic also won a return game and a tiebreaker.
With that triumph, Djokovic now has 34 Masters 1000 titles - just one fewer than the Spanish tennis icon Rafael Nadal.