Djokovic had the crowd behind him at the Belgrade tennis centre which bears his name, and in the third set he consolidated his ground strokes and served out the match.
'Devilish' - Djokovic unfurls gorgeous drop shot winner
Krajinovic, who beat Djokovic on Saturday, progressed to the final after he grabbed his second win in 24 hours, beating Viktor Troicki 4-0, 4-3 (7-5) - going through on his higher percentage of games won.
Krajinovic stormed into a 4-0 lead in the opening set with Troicki failing to make an impact.
And it looked as though world number 32 Krajinovic would walk the second set, too, after taking a 3-1 lead in the first-to-four format, but Troicki saved two match points in games five and six to force a tie-break.
But Krajinovic went on to win from 4-1 down with a brilliant return of serve on match point.
'What a finish!' - Krajinovic nails return winner to beat Troicki
He will play Dominic Thiem in the final, after the Austria beat Grigor Dimitrov in a close and entertaining encounter, with two tie-break sets - 4-3, 4-3.
Nikola Milojevic saw off compatriot and 23rd seed Dusan Lajovic 4-3 (7-0) in Sunday's opening match. Milojevic, ranked 145th in the world, emerged victorious in the Fast4 contest in a dominant tie-break, taking it without a response from his higher-ranked opponent.
With the match in Milojevic's sights at 3-2 up, Lajovic broke in game six on his second break point to force a tie-break after 30 minutes at the Novak Tennis Centre in Belgrade - where crowds are permitted to attend.
However, Milojevic made light work of the tie break to seal the win at the exhibition tournament.
Djokovic warms up by dancing with DJ and pianist before Adria Tour match