Début 2017, il signe l'une des meilleures performances de sa carrière lorsqu'il bat le 6 mondial Marin Čilić au deuxième tour du tournoi de Chennai (7-6, 5-7, 7-5). Il fait ses débuts à Roland-Garros face à Stanislas Wawrinka. En 2018, il parvient jusqu'en demi-finale du tournoi de Sofia. Fin juillet, il atteint une nouvelle demi-finale lors de l'ATP 500 de Hambourg après être sorti des qualifications. Cette performance lui permet d'intégrer le top 100 ATP. Il écarte notamment le mondial Damir Džumhur au premier tour. En demi-finale, il manque une balle de match contre Leonardo Mayer (6-7, 6-4, 7-6). Entre la fin de l'année 2018 et le début de l'année 2019, il manque six mois de compétition en raison d'une blessure au poignet droit.