The 20-year-old from Richmond Hill, Ont., will face No. 1 Novak Djokovic for the title on Sunday.
Djokovic reached his sixth Paris Masters final with a 7-6 (5), 6-4 win Saturday against Grigor Dimitrov, beating him for the ninth time in their 10 career matches.
Shapovalov, who won his first ATP title at the 250-level Stockholm Open last month, will compete in his first Masters 1000 final.
Ranked No. 28 heading into the tournament, Shapovalov has played some of the best tennis of his career this week. He dispatched higher-ranked opponents in three consecutive matches to reach the semifinals, including an upset win over No. 6-seed Alexander Zverev of Germany in the round of 16.
His walkover victory Saturday puts Shapovalov at a career high No. 15. He would jump to No. 11 with a win Sunday.
Denis Shapovalov reflects on his success, looks ahead to 2019 and beyond
The Canadian is 0-3 against Djokovic in his career. All three of those losses have come this season — two in Masters 1000 tournaments and the other at the Australian Open.
Nadal said he felt something in his adominal while practicing before the semifinal on Saturday and got checked out by medical staff.
“We saw something on the image, probably a small strain,” Nadal said. “I tried to come back on court to practise again and to see how things are going with my serve but I was still feeling the pain there.”
Djokovic and Dimitrov won more than 80 per cent of first serve points in a tight opening set where neither faced a break point.
But when it mattered, Dimitrov cracked in the tiebreaker.
With Dimitrov 5-4 up and controlling the exchanges, a 32-stroke rally ended when he advanced to the net and tried an extravagant forehand volley to the left. He could have played an easier shot with a controlled backhand to the vacant right side of the court.
The ball landed out and Djokovic punched the air, roaring in relief.
Shapovalov workshop inspires new generation of players
Then, on set point, a 35-stroke rally ended when Dimitrov chopped a backhand long.
Djokovic broke him in the fifth game of the second set, the unseeded Bulgarian mis-hitting a forehand and sending it long.
Serving for the match, Djokovic held to love and clinched victory when Dimitrov sent a return wide at full stretch.
Djokovic won his first title here 10 years ago and then three straight from 2013-15. He lost his only final, last year, to Karen Khachanov.
Djokovic is bidding to finish the year as No. 1 for the sixth time.
© 2019 The Canadian Press