At the ATP 250 clay-court event, the second seed dug deep against Djokovic, hitting with relentless power and intensity to outlast the home favourite.
Both Rublev and Djokovic have had to fight past some tough competition but they had also been dealt a fair share of comfortable wins.
Djokovic got off to a slow start in the semi-final against Khachanov, just as he had done in the previous rounds against Laslo Djere and Miomir Kecmanovic.
At the 2022 Serbian Open, Djokovic came back from a set down against seventh seed Miomir Kecmanovic to win the second-round match 4-6, 6-3, 6-3.