Despite the world number 114 causing moments of tension, Djokovic had enough quality to win 6-3 6-4 6-2.
The 33-year-old Serb won the final four games to finally shrug off Karatsev.
Djokovic, who is going for a record-extending ninth men's title in Melbourne, will face Daniil Medvedev or Stefanos Tsitsipas in Sunday's final.
Russian fourth seed Medvedev meets Greek fifth seed Tsitsipas in the other semi-final on Friday, with both men trying to reach their first Australian Open final.