Le Serbe de 38 ans affrontera pour le titre l'Américain Sebastian Korda (52e) ou la deuxième tête de série, l'Italien Lorenzo Musetti (9e), contraint de remporter le tournoi pour garantir sa participation au Masters de Turin (9-16 novembre).
Djokovic tentera samedi de décrocher un 101e trophée sur le circuit principal, après avoir perdu la finale du Masters 1000 de Miami en mars contre le Tchèque Jakub Mensik (19e) et gagné celle du plus modeste ATP 250 de Genève en mai contre le Polonais Hubert Hurkacz (ex-6e mondial, actuel 78e).
Une victoire le placerait à deux longueurs de son ex-rival suisse Roger Federer (103 titres) et à huit de l'Américain Jimmy Connors (109).
Contre Hanfmann, Djokovic a mis fin à une série de quatre défaites en demi-finales d'affilée, à Roland-Garros, Wimbledon, l'US Open puis au Masters 1000 de Shanghai.
Après avoir manqué une première occasion de breaker l'Allemand issu des qualifications à 2-1 dans la première manche, Djokovic a fait mouche à 3-2 et conservé son break d'avance jusqu'à la fin du set, gagné 6-3.
Dans le second acte, l'homme aux 24 titres record en Grand Chelem a perdu sa mise en jeu à 2-1, mais aussitôt répliqué pour recoller à 3-3.
Djokovic a une nouvelle fois breaké Hanfmann dans le jeu suivant (4-3) pour s'envoler vers la victoire, acquise au bout d'1h18 sur un ultime service gagnant.
