The Russian won a deciding set which lasted 81 minutes on Court 18.
In a back and forth encounter, where there were 13 breaks of serve in the last set, it was the Russian who prevailed in three hours and 49 minutes after a 3-6 6-4 6-3 5-7 10-8 win.
The 25th seed equalled his best ever showing at a grand slam after he also made the last eight at Roland Garros in 2019 and in the process spoiled the 21st birthday of his opponent.
Khachanov was up against his third American of the Championships and made his intentions clear early on with the sun shining at the start of the second week.
Four aces were sent down during the 25-year-old’s opening service game but Korda, riding on the crest of a wave at his first Wimbledon, was dominating when the ball remained in the court.
And a superb backhand winner earned the birthday boy a break in the fourth game to earn a narrow advantage in the opener.
Korda was cruising on his own serve as well and, after holding to love twice, a 17th winner of the set clinched it in 29 minutes.
It was only the second set lost by Khachanov at the All England Club this summer, but he made his rival work harder on his service game in the second.
The 21-year-old was initially rising to the challenge but with the Russian forcing more pressure, cracks were starting to show.
Khachanov was also in the groove on his own serve and two more aces made it 11 in the match so far to move into a 5-4 lead which put him on the verge of taking the second set.
Two more unforced errors from Korda ensured the 25th seed was able to break his opponent at the second time of asking and level proceedings on Court 18.
Suddenly the movement of the world number 50 was not as fluent as his almost flawless opener and he was broken again when Khachanov was able to come out on top in a lengthy rally.
No break points had been offered by the Russian in the second set and it was the case again in the third to take control of the round of 16 tie.
Korda, who beat Great Britain’s Dan Evans on Centre Court in the third round, took a comfort break afterwards but it did not initially do the trick.
Moscow-born Khachanov secured an early break in the opening game of the fourth set but the birthday boy hit back immediately with two fine winners to bring the game back on serve.
The aces were being shared now and with little margin for error, a tie-breaker was on the cards, but Korda showed great determination to level.
A superb backhand return made it 15-30 on Khachanov’s and while he lost the next point, two miscued attempts by the Russian sent the match to a decider after a 47-minute set.
A third consecutive break on the American’s serve made it 4-3 in the decider with Korda ruing his eagerness to hit winners with several wayward efforts at decisive moments proving costly.
The drama was not over there though with Khachanov forced to save another break point in the eighth game but he could not repeat the trick with the unseeded 21-year-old able to draw level and earn applause from his Australian Open-winning dad Petr in the crowd.
It was short-lived respite for Korda with another wide shot gifting the world number 29 a further break and now the chance to serve out for the match.
Another element to the story was the drizzle beginning to fall and, despite Khachanov being able to send down a 129mph serve, opportunities continued to be created by the former Australian Open junior winner and at the third time of asking he broke once again.
Eight breaks of serve had occurred in the final set and that number quickly moved into double figures as the play in the deciding set ticked past the hour mark.
Korda eventually managed to break the spell Khachanov had on him and, after losing five games in a row on serve, he held and received applause from the Court 18 crowd.
In a quirky twist of fate it was now the turn of the Russian to hold but the end was nigh.
When Korda conceded his service game for the seventh time in the fifth set, the 25th seed made no mistake and even had the confidence to call on more noise from those in attendance when he earned another match point.
This time Khachanov took it before he dropped to his knees in celebration as he finally saw out a 81-minute decider.