Spanish No.2 seed Bautista Agut had dashed past Andy Murray and Alejandro Davidovich Fokina for the loss of just three games in Doha, but Khachanov proved far more obdurate.
After a slow start, eventually Bautista Agut picked up the pace and emerged a 2-6 6-3 7-5 winner in two hours and 24 minutes of toil, earning a shot at Georgia's Nikoloz Basilashvili in Sunday's (AEDT) final.
Bautista Agut praised Russian Khachanov for making him scrap for the win.
"He was playing very fast," Bautista Agut said. "He was playing very solidly, he was defending very well and he hit many unbelievable passing shots. I had to play incredibly well tonight. I enjoyed tonight so much."
No.3 seed Basilashvili is the defending champion this week and made light work of France's Arthur Rinderknech, tying up a 6-4 6-2 victory.
In Marseille, No.1 seed Stefanos Tsitsipas was stunned by Russian qualifier Roman Safiullin in the Open 13 quarter-finals. World No.163 Safiullin had a staggering 13 break points against the under-performing Greek's serve, and although 11 of those were saved, the two that were not decided the match.
Safiullin, for his part, faced one break point and saved it on the way to a 6-4 6-4 victory. He made his presence felt at the ATP Cup in Australia at the start of the year and, although results have been disappointing since, the 24-year-old is doing well again in France this week.
Next for Safiullin will be last week's Rotterdam champion Felix Auger-Aliassime, who saw off Belarusian Ilya Ivashka 6-3 6-4 in the last match of the day. After losing his first eight finals on the ATP Tour, Auger-Aliassime may well be closing in on a second title in eight days.
Sunday's (AEDT) other semi-final will see No.2 seed Andrey Rublev, from Russia, tackle Frenchman Benjamin Bonzi, who reached the last four of a main-tour event for the first time by crushing Aslan Karatsev 6-1 6-3.
Rublev dug deep to edge out French wildcard and former top 10 player Lucas Pouille 6-3 1-6 6-2.