Denis Shapolavov and Alexander Zverev will join Roger Federer and Robin Haase in the ATP Rogers Cup semi-finals, securing victories in Montreal on Friday.
After shock wins over Rafael Nadal and Juan-Martin del Potro, Shapovalov's dream run continues, coming from a set down to defeat Adrian Mannarino 2-6 6-3 6-4.
He sets up an all-ATP Next Gen semi against Zverev who, despite some early trouble, was assured in a 7-5 6-4 win over Kevin Anderson.
Following his 6-4 6-4 win over Roberto Bautista Agut in under 70 minutes, Federer will face Haase, who eventually dispatched Diego Schwartzmann 4-6 6-3 6-3.
Shapovalov's stunning form was the biggest story of the day, especially fighting back from a set down against the French world number 42.
Hitting 19 unforced errors to 12 winners, the 18-year-old found momentum after a short rain delay, immediately securing the break in the sixth game of the second set.
The Canadian wildcard was fearless in the deciding set, scoring the crucial break in the ninth game.
Shapovalov is now the youngest ever ATP 1000 semi-finalist and currently at world number 143, the lowest-ranked since 2003, when Andrei Pavel made his way to the final in Paris.
Zverev was shaky at times on serve in the late match, serving nine aces and seven double faults, but overcame an early break from Anderson to win in straight sets.
The 20-year-old German was measured in the big points, on the way to an eighth consecutive victory.
Federer still looks the man to beat, however, following a dominant display against Bautista Agut.
Holding to love to clinch the opening set, after breaking in the ninth game, the 19-time Grand Slam winner did not look back, winning 81 per cent of total points on his first serve.
On track for a third Rogers Cup triumph, the Swiss legend will meet Haase, who even spurned break points in the opening set to book his first ATP 1000 semi-final berth.