Novak Djokovic came back from a set down against a Serbian compatriot for the second successive day to reach the Belgrade semi-finals on Thursday.
The world number one saw off in-form Miomir Kecmanovic, ranked at 38 in the world, 4-6, 6-3, 6-3.
Djokovic, chasing a third title at the Serbia Open and a fourth ATP Tour title overall in his home city, will face either third seed Karen Khachanov or Brazilian qualifier Thiago Monteiro for a place in the final.
Djokovic had also needed three sets to beat Lazlo Djere in his opening round on Wednesday as he gears up towards the defence of his French Open title in Paris next month.
The Belgrade event is only Djokovic’s third of 2022 after he was deported from Melbourne – and denied the chance to defend his Australian Open title – after entering 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.