Dopo aver militato nei circuiti minori, nel 2017 fa il suo esordio nel circuito ATP ad Anversa, perdendo al primo turno. Nel 2018 vince il suo primo incontro ATP a Sofia in coppia con James Cerretani, perdendo poi nei quarti. Viene convocato in Coppa Davis, nei quarti di finale contro gli Stati Uniti. Partecipa poi al torneo di Monaco di Baviera, fallisce le qualificazioni a Wimbledon e grazie ad una wildcard, partecipa al torneo di Anversa. Chiudendo l'anno con un passivo di 5 sconfitte, a fronte di una sola vittoria. Chiude la stagione all'82ª posizione mondiale.
2019 - Tre titoli
Raggiunge per la prima volta in carriera le semifinali in un torneo ATP a Cordoba, raggiunge poi i quarti di finale a San Paolo e Marrakech. Entra per la prima volta nel tabellone di uno Slam a Wimbledon, e in coppia con Vliegen raggiunge il secondo turno, dove vengono sconfitti da Marcelo Demoliner e Divij Sharan. Partecipa poi al torneo di Båstad sempre in coppia con Vliegen e conquista il suo primo titolo, superando in finale Federico Delbonis e Horacio Zeballos col punteggio di 6(5)–7, 7-5, [10-5]. La settimana seguente conquista il secondo titolo a Gstaad, battendo in finale Philipp Oswald e Filip Polášek col punteggio di 6-4, 6-3. La striscia di vittorie consecutive si conclude a undici quando la settimana seguente a Kitzbühel, dove giunge alla terza finale consecutiva e viene sconfitto da Oswald e Polášek con un doppio 6-4. Al torneo di Winston-Salem, viene sconfitto in semifinale dalla coppia Monroe-Sandgren. Agli US Open perde in due set al primo turno contro Marcel Granollers e Horacio Zeballos. Sempre in coppia col connazionale, raggiunge la finale nel Challenger di New Haven e la semifinale all'ATP di San Pietroburgo. Vince il terzo titolo della stagione alla prima edizione degli Zhuhai Championships, superando in finale Marcelo Demoliner e Matwé Middelkoop col punteggio di 7–6(2), 7–6(4). Sconfitto al primo turno al Challenger di Mouilleron-le-Captif, raggiunge la semifinale al 250 di Anversa e viene sconfitto da Rajeev Ram e Joe Salisbury in tre set. Subisce poi due sconfitte al primo turno a Vienna e Parigi.
2020 - Quarti a New York e quarto titolo
Inizia la stagione all'ATP Cup, vince i match contro Moldavia e Bulgaria e perde quelli contro Gran Bretagna e Spagna. La settimana successiva raggiunge la semifinale al torneo di Auckland e viene sconfitto da Luke Bambridge e Ben McLachlan che vinceranno il torneo. Alla sua prima partecipazione agli Australian Open esce di scena al secondo turno. Raggiunge la semifinale a Buenos Aires e i quarti ad Acapulco. Nella sfida di Coppa Davis contro l'Ungheria vincendo il suo incontro di doppio. Torna in campo ed esce al primo turno a Cincinnati, dopo il lungo stop dovuto alla pandemia di COVID-19. Agli US Open raggiunge i quarti di finale in uno Slam per la prima volta in carriera. Sulla terra rossa di Roma non va oltre il secondo turno, mentre esce al primo turno al suo debutto al Roland Garros. Perde poi al primo turno anche a San Pietroburgo e la settimana seguente raggiunge la semifinale ad Anversa, dove viene fermato ancora da Middelkoop questa volta in coppia con Rohan Bopanna. Il 1º novembre vince il suo quarto titolo a Nur-Sultan, superando Max Purcell e Luke Saville col punteggio di 7-5, 6-3. Viene eliminato al secondo turno a Parigi e al primo a Sofia. Chiude la stagione alla 40ª posizione, nuovo best ranking.