Novak Djokovic reached his first final of the year at the Serbia Open on Saturday after recovering from a set down to beat Karen Khachanov 4-6, 6-1 6-2.
The world number one will face Andrey Rublev or Fabio Fognini as he bids for a third Belgrade crown, and the 87th title of his career.
For the third match in a row, Djokovic dropped the first set after losing his serve in the opening game, but the Serb stepped up his level in the second and third sets.
Djokovic beat the 26th-ranked Khachanov for the fifth straight meeting and sixth time in seven matches.
The Belgrade event is only Djokovic's third of 2022. He was deported from Melbourne - and denied the chance to defend his Australian Open title - after he entered the country unvaccinated.
He was also barred from playing at the Indian Wells and Miami Masters over his controversial Covid-19 stance.
The 34-year-old made the last eight in Dubai in February and then lost his opening match at the Monte Carlo Masters last week.