Cobolli era in svantaggio 1-3 nel set finale ma è riuscito a vincere cinque dei successivi sei giochi per rimanere in corsa per il terzo titolo ATP insieme alle vittorie su terra battuta a Bucarest e Amburgo lo scorso anno.
Il 23enne di Firenze ha respinto due palle break sul 3-3 nel terzo set, salvandole entrambe con vincenti di dritto.
Non riuscendo a chiudere il match sul 5-3, ha poi breakato Kecmanovic nel gioco successivo per assicurarsi la vittoria sul serbo, che aveva sconfitto il numero quattro del mondo Alexander Zverev al secondo turno.
“Penso che abbiamo entrambi giocato una partita straordinaria,” ha detto Cobolli.
“Alla fine sono stato un po’ fortunato, perché nei momenti cruciali a volte serve fortuna. Sono davvero orgoglioso di me stesso perché non è stato facile tornare indietro.”
L’ottava testa di serie Tiafoe ha recuperato da un set e un break in meno per battere il compatriota americano Brandon Nakashima 3-6, 7-6(6), 6-4.