Shapovalov will face defending champion Novak Djokovic in the last four after fighting back to defeat Khachanov 6-4 3-6 5-7 6-1 6-4 in a pulsating contest on No.1 Court.
The exciting 22-year-old Canadian struck 59 winners and served 17 aces, breaking new ground at the All England Club with a brilliant performance.
Khachanov gave a great account of himself in his first quarter-final at SW19, but appeared to tire as 10th seed came out on top in a match that took three hours and 26 minutes to settle.
Shapovalov dug himself out of a hole to draw level at 3-3 after saving four break points and serving three double faults and claimed the first break of the match in the next game, putting away a backhand volley at the net.
The left-hander served out the set, but trailed 2-0 in the second when he sprayed a backhand wide and Khachanov maintained the momentum with another break.
Shapovalov got on the board at 4-1 but it was one set apiece when his backhand floated between the tramlines.
Khachanov produced some ferocious clean striking as he fended off two break points in a tight third set and the 25th seed had the chance to serve for the set after Shapovalov sent a forehand wide to trail 6-5.
He saved a break point before moving one set away from the last four, yet a fired-up Shapovalov was pumping his fist while bellowing out a roar when he went 3-1 up in the fourth.
Shapovalov was brimming with vibrancy and confidence as he took it to a deciding set in commanding fashion.
Khachanov showed great fight to dig deep from 0-40 down and hold for a 3-2 lead, then again to save another three break points in a tense game before he overcooked a forehand to go 5-4 down and Shapovalov kept his cool to serve it out.
Data slam: Persistence pays off for Shapovalov
A combination of great fight from Khachanov and unforced errors from Shapovalov prevented the world number 12 from getting the job done earlier.
He failed to convert 14 break points, but five proved to be enough to set up a showdown with the world number one.
Shapovalov – 59/48
Khachanov – 31/50
Shapovalov – 17/10
Khachanov – 3/7
BREAK POINTS WON
Shapovalov – 5/19
Khachanov – 3/8