The 18-year-old left-hander from Richmond Hill, Ontario beat France's Adrian Mannarino 2-6, 6-3, 6-4 and awaits the victor of the late match between fourth-seeded Alexander Zverev of Germany and Kevin Anderson of South Africa.
But Shapovalov, who recovered from a set down to beat Nadal and Brazilian Rogerio Dutra Silva already this week, broke in the sixth game of the second to force another decider. After a rain delay, Shapovalov broke Mannarino to take a 4-2 lead in the second set. He leapt in the air as he closed out the match.
Second-seeded Roger Federer continued his mastery over 12th-seeded Roberto Bautista Agut of Spain with a 6-4, 6-4 victory in a quarter-final at the Rogers Cup men's event in Montreal on Friday.
Alexander Zverev ended a dream week for 18-year-old Canadian Denis Shapovalov with a 6-4, 7-5 victory in the semifinals of the Rogers Cup on Saturday night.
Masterful ball and body control helped Federer win 19 of 25 trips to net and rush the world No. 16 right off the court beating Bautista Agut for the seventh time in as many meetings.
"I think it pays off playing aggressive here in Montreal", Federer said in a courtside interview after his 6-4, 6-4 win over the 12th seed.
'And then the only thing that maybe is missing is practice, but sometimes practice is overrated.
Haase, who hit 17 winners, made a late charge and forced a second-set tiebreak before Federer stymied the challenge to win the match. "It was a good decision for me. But I'll keep working hard and hopefully we could start a little bit of a rivalry".
Haase, who upset seventh-seeded Grigor Dimitrov in the third round, was in his first career semifinal of a Masters Series tournament. The 30-year-old Haase, ranked 52nd in the world, improved to 5-0 against 36th-ranked Schwartzman in his career.
The 20-year-old German remained on course to win back-to-back ATP Tour titles with a 7-5 6-4 victory against Kevin Anderson, the player he beat in last week's Citi Open final. She next faces American Sloane Stephens, who saved three match points in the third set to oust Lucie Safarova 6-2, 1-6, 7-5 in their quarter-final.
Federer moved 4-1 ahead after securing a couple of mini-breaks, only for Haase to respond again by taking the next two points against serve and then moved 5-4 ahead.
Bautista Agut's serve finally came under concerted pressure in game seven, but Federer surprisingly misfired with a pair of backhands as the Spaniard held firm.