Il a remporté 5 titres en simple et 2 en double sur le circuit ITF.
Il se distingue en 2017 en se qualifiant pour les quarts de finale du tournoi de Munich après avoir éliminé Thomaz Bellucci. Il atteint ensuite la finale du tournoi Challenger de Chimkent, puis passe le premier tour du tournoi de Stuttgart. Fin juillet, il crée la surprise en jouant sa première finale ATP à Gstaad à sa 7e participation à un tournoi de cette catégorie. Issu des qualifications, il élimine trois têtes de série : Feliciano López (7-65, 3-6, 6-1), João Sousa (6-710, 6-2, 6-2) et Robin Haase (3-6, 7-66, 7-64)[1]. Il s'incline en finale contre Fabio Fognini (6-4, 7-5).
En 2023, il obtient de bons résultats dans les tournois ATP en étant quart de finaliste à Santiago, demi-finaliste à Houston en battant Tommy Paul et en franchissant deux tours à Madrid après avoir disputé les qualifications. Il crée ensuite la surprise en accédant aux quarts de finale au Masters 1000 de Rome après être de nouveau sorti des qualifications, avoir battu le Chilien Nicolás Jarry (6-4, 6-4), l'Italien Marco Cecchinato (6-4, 4-6, 6-3) et deux membres du top 10, l'Américain Taylor Fritz (6-4, 6-1) et le récent lauréat de Monte-Carlo Andrey Rublev (7-6, 4-6, 6-3)[3]. Il s'arrête à ce stade, battu par un autre Russe, le numéro trois mondial Daniil Medvedev (6-2, 6-2)[4], futur vainqueur en capitale italienne.