The Serbian took a medical timeout during the first set because of tightness in his left hamstring but was able to continue and did not drop his serve during a 6-3 6-4 victory over one of his biggest rivals.
With just over a week to go until the Australian Open, where Djokovic will chase a 10th title, the 35-year-old will not want to take any chances.
Speaking in an on-court interview, Djokovic, who has not lost a match in Australia since 2018, said: "Thankfully it was nothing too serious. If it was, I wouldn't be able to continue. I just tried with a medical timeout, some anti-inflammatories and it kind of settled in.
"For a few games I was just trying to keep the momentum going and don't allow him to break my serve. I think that was the key, that eventually I would get a chance.
"I think the longer the match went, the more my hamstring was warmer and bothering me less. Hopefully for tomorrow it will be all fine."
Providing Djokovic is fit, he will take on Sebastian Korda in the final after the American benefited from the retirement of opponent Yoshihito Nishioka early in the second set because of a hip injury.
There is guaranteed to be a British winner of the doubles title after Jamie Murray and his new partner Michael Venus set up a clash against Lloyd Glasspool and Harri Heliovaara.
Over at the women's event, Czech teenager Linda Noskova continued her brilliant run by shocking world number two Ons Jabeur to reach the final.
The young Czech will try to take out another of the world's best players in second seed Aryna Sabalenka, who defeated Irina-Camelia Begu 6-3 6-2.