In singolare ha vinto nel circuito maggiore cinque titoli su sette finali disputate, tra cui il Master 1000 di Cincinnati 2026. La sua miglior classifica ATP è la 9ª posizione raggiunta nel settembre 2026. Ha fatto il suo esordio nella squadra francese di Coppa Davis nel 2023. Tra gli juniores ha vinto in doppio e perso la finale in singolare all'Open di Francia 2021, raggiungendo il 3º posto nel ranking mondiale di categoria.
Carriera Tra gli juniores Fa il suo esordio nell'ITF Junior Circuit nel dicembre 2017 e vince il primo titolo in singolare nel 2020 in un torneo Grade 4 olandese, nel quale perde la finale di doppio. A fine anno vince il suo primo torneo importante aggiudicandosi il singolare al prestigioso Grade A dell'Orange Bowl. Nel giugno 2021 raggiunge entrambe le finali al Roland Garros juniores, perde quella di singolare contro Luca Van Assche e si aggiudica quella di doppio assieme a Giovanni Mpetshi Perricard. Il mese successivo sale al 3º posto nel ranking mondiale di categoria. Disputa il suo ultimo torneo nel circuito juniores nell'agosto 2022.
2020-2022: inizi da professionista Disputa il primo torneo ITF nel 2020, circuito in cui al massimo raggiunge due finali nel 2021. Dal 2022 comincia a disputare quasi esclusivamente tornei Challenger. A maggio gli viene assegnata una wildcard per le qualificazioni dell'Open di Francia; alla sua prima esperienza in una prova del Grande Slam si ritira durante il primo match per crampi. A fine stagione disputa per la prima volta un match ATP al Masters di Parigi-Bercy: dopo aver superato i top 100 Jaume Munar e Fabio Fognini accede al tabellone principale e perde contro lo stesso Fognini, entrato nel main-draw come lucky loser.
2023: primo titolo ATP, un'altra finale e 36º nel ranking All'esordio stagionale del 2023 vince il primo titolo tra i professionisti al Challenger di Oeiras, dove elimina tra gli altri Ričardas Berankis e supera in finale Joris De Loore in due set. Due settimane dopo raggiunge un'altra finale Challenger a Quimper e cede a Grégoire Barrère. A febbraio entra nel tabellone di Montpellier con una wildcard e sconfigge al primo turno Richard Gasquet, vincendo così il primo match in un torneo ATP. Supera poi inaspettatamente il nº 24 ATP Roberto Bautista Agut e Quentin Halys, prima di essere sconfitto in semifinale dal futuro vincitore del torneo Jannik Sinner per 7–5, 6–2. A fine torneo porta il best ranking alla 117ª posizione. Raggiunge la semifinale anche al successivo ATP di Marsiglia e sale alla 104ª. Torna a mettersi in luce superando le qualificazioni e raggiungendo il secondo turno agli Internazionali d'Italia con il successo su Juan Manuel Cerúndolo, vincendo il primo match in un Masters 1000. Vince il suo primo titolo ATP a Lione, dove trae vantaggio dalla squalifica e dal forfait di due avversari, perde il primo set del torneo in semifinale contro Brandon Nakashima e ha la meglio in finale sul nº 28 del mondo Francisco Cerúndolo per 6–1, 7–5; fa così il suo ingresso nella top 100, in 63ª posizione.
Entra per la prima volta nel tabellone di un torneo dello Slam al Roland Garros per diritto di classifica, ed esce al primo turno per mano di Alejandro Davidovich Fokina. Nonostante l'eliminazione nelle qualificazioni del Queen's, porta il best ranking alla 58ª posizione. In estate raggiunge le semifinali nell'ATP 500 di Amburgo superando nei quarti il nº 4 del mondo Ruud prima di arrendersi in due set al futuro vincitore del torneo Alexander Zverev. Sale in questo modo alla 46ª posizione del ranking. Riprende l'ascesa in classifica con la sua prima vittoria in carriera in una prova del Grande Slam agli US Open, dove supera il nº 24 ATP Tallon Griekspoor e al secondo turno perde al quinto set contro Matteo Arnaldi. Nelle settimane che seguono fa il suo esordio nella squadra francese di Coppa Davis – perdendo contro Daniel Evans – e alla prestigiosa Laver Cup, dove perde entrambi gli incontri disputati. Disputa per la prima volta il terzo turno in un Masters 1000 allo Shanghai Masters con il successo su Davidovich Fokina, prima di essere eliminato da Tommy Paul. Raggiunge la finale anche all'ATP di Anversa battendo in semifinale il nº 7 del mondo Stefanos Tsitsipas e cede in due set ad Aleksandr Bublik, risultato con cui chiude il 2023 con il nuovo miglior ranking al 36º posto mondiale. Si qualifica per le Next Generation ATP Finals e vince tutti gli incontri che lo portano in finale, persa contro Hamad Međedović
2024: due titoli ATP 500, un Challenger 175 e top 20 Inizia il 2024 raggiungendo i quarti all'Hong Kong Open e viene sconfitto in tre set da Andrej Rublëv. La settimana successiva perde in semifinale all'Auckland Open contro Alejandro Tabilo e sale alla 34ª posizione nel ranking. Raggiunge per la prima volta il secondo turno agli Australian Open e cede in 4 set a Griekspoor. Nella tournée sudamericana il miglior risultato sono i quarti di finale raggiunti al Chile Open. All'Indian Wells Open sconfigge Nuno Borges e Davidovich Fokina ed esce al terzo turno per mano di Casper Ruud. Dopo i modesti risultati conseguiti al Miami Open e al Monte Carlo Masters, torna a mettersi in luce raggiungendo i quarti all'ATP 500 di Barcellona con il successo sul nº 11 del mondo Alex de Minaur e cede in tre set a Dušan Lajović. Eliminato al turno di esordio nei Masters di Madrid e Roma, si aggiudica il Challenger 175 di Bordeaux battendo in finale Pedro Martínez per 6–2, 6–3 e porta il miglior ranking al 30º posto mondiale. Esce al primo turno anche al Roland Garros.
Ad Halle elimina Tomáš Macháč e viene sconfitto al terzo turno da Alexander Zverev dopo aver vinto il primo set. Raggiunge per la prima volta il quarto turno in una prova del Grande Slam a Wimbledon dopo le vittorie su Hubert Hurkacz – che si ritira per infortunio nel tie-break del quarto set quando Fils aveva a disposizione un match-point – e Roman Safiullin, prima della sconfitta subita al quarto set contro Alex de Minaur. Conquista il primo titolo in un torneo ATP 500 al successivo Hamburg European Open, elimina tra gli altri i top 20 Holger Rune (che si ritira nel corso del secondo set) e Sebastián Báez e in finale si prende la rivincita sul campione uscente e nº 4 del mondo Zverev trionfando per 6–3, 3–6, 7–6 risultato con cui sale alla 20ª posizione mondiale.
Partecipa per la prima volta alle Olimpiadi e viene eliminato al primo turno da Matteo Arnaldi. Esce nelle fasi iniziali ai Masters 1000 del Canada e di Cincinnati e agli US Open. Nella fase a gruppi delle Finali di Coppa Davis perde due dei tre singolari disputati e la Francia viene eliminata. Conquista il suo secondo titolo 500 nel torneo di Tokyo eliminando tra gli altri la testa di serie nº 1 Taylor Fritz e il campione uscente Ben Shelton, sconfigge in finale il connazionale Ugo Humbert con il punteggio di 5–7, 7–6, 6–3 salvando anche un match point durante il secondo set. Il 14 ottobre sale al 20º posto mondiale. Torna a mettersi in luce allo Swiss Indoors con la vittoria nei quarti su Tsitsipas ed esce in semifinale per mano di Shelton. Non va oltre il terzo turno al Paris Masters. Si qualifica per le Next Generation ATP Finals e viene eliminato nel round robin con due sconfitte e una vittoria.
2025: quarti di finale in tre Masters 1000, 14º nel ranking e infortunio Raggiunge per la prima volta il terzo turno agli Australian Open e si ritira durante il match contro Humbert, risultati che gli valgono il 19º posto del ranking. Riprende l'ascesa all'Indian Wells Open, dove supera Lorenzo Musetti e cede nei quarti al nº 6 del mondo Daniil Medvedev al tie break del set decisivo. Raggiunge i quarti anche al Miami Open e viene eliminato dal vincitore del torneo Jakub Mensik dopo le vittorie sul top 20 Frances Tiafoe e sul nº 2 mondiale Zverev. Esce di nuovo nei quarti a Monte Carlo, elimina tra gli altri Andrei Rublev e viene sconfitto in tre set da Carlos Alcaraz; a fine torneo porta il miglior ranking alla 14ª posizione. Ritrova Alcaraz in semifinale al Barcelona Open, e questa volta raccoglie solo due giochi. Eliminato a sorpresa al turno di esordio al Madrid Open, perde contro Zverev al quarto turno degli Internazionali d'Italia.
Vince i suoi primi due incontri in carriera al Roland Garros ed è costretto ad abbandonare il torneo prima del match di terzo turno per una frattura da stress alla schiena, dove da diverso tempo accusava dolore. Rientra al Canadian Open, dove sconfigge Pablo Carreño Busta in due set, e perde poi da Jiří Lehečka dopo aver vinto il primo parziale. Ancora tormentato da problemi fisici, non disputa nessun altro torneo nel corso della stagione, al termine della quale si trova alla 40ª posizione del ranking.
2026: primo titolo Masters 1000 e a Barcellona, top 10 Non avendo recuperato ancora al meglio, Fils salta anche i tornei di inizio stagione, compreso l'Australian Open. Sceso alla 42ª posizione, a febbraio perde nei quarti di finale a Montpellier contro il vincitore del torneo Félix Auger-Aliassime. Sconfitto all'esordio a Rotterdam da Alex de Minaur, a Doha perde la finale contro Carlos Alcaraz. All'Indian Wells Open elimina il top 10 Felix Auger-Aliassime e cede nei quarti a Zverev. Disputa la prima semifinale in un Masters 1000 al Miami Open grazie ai successi sui top 30 Valentin Vacherot e Tommy Paul e viene eliminato da Jiri Lehecka. Al Barcellona Open conquista il suo terzo ATP 500, elimina tra gli altri il top 10 Lorenzo Musetti e sconfigge in finale Andrej Rublëv. Si prende la rivincita su Lehecka nei quarti al Madrid Open e perde la semifinale contro il nº 1 del mondo Jannik Sinner. Al turno di esordio degli Internazionali d'Italia avverte un dolore all'anca e si ritira per precauzione.
Torna a giocare dopo quasi due mesi a Wimbledon e perde al secondo turno contro Berrettini. Si spinge fino ai quarti al Canadian Open e viene sconfitto dal giovane talento Rafael Jodar. Gioca la sua prima finale in un Masters 1000 al Cincinnati Open in virtù delle vittorie sui top 10 de Minaur e in semifinale Cobolli. Si aggiudica il primo titolo di categoria battendo Frances Tiafoe con il punteggio di 6-3, 1-6, 6-0 e porta il miglior ranking all'11ª posizione. Nonostante la sconfitta all'esordio agli US Open contro Tsitsipas, a fine settembre entra per la prima volta in top 10, alla 9ª posizione.
Statistiche Singolare Vittorie (5) Legenda Grande Slam (0) ATP Finals (0) ATP Masters 1000 (1) ATP Tour 500 (3) ATP Tour 250 (1) N.DataTorneoSuperficieAvversario in finalePunteggio 1. 27 maggio 2023 Open Parc Auvergne-Rhône-Alpes Lyon, Lione Terra rossa Francisco Cerúndolo 6–3, 7–5 2. 21 luglio 2024 Hamburg European Open, Amburgo Terra rossa Alexander Zverev 6–3, 3–6, 7–6(1) 3. 1º ottobre 2024 Japan Open Tennis Championships, Tokyo Cemento Ugo Humbert 5–7, 7–6(6), 6–3 4. 19 aprile 2026 Barcelona Open, Barcellona Terra rossa Andrej Rublëv 6–2, 7–6(2) 5. 23 agosto 2026 Cincinnati Open, Cincinnati Cemento Frances Tiafoe 6–3, 1–6, 6–0
Finali perse (2) Legenda Grande Slam (0) ATP Finals (0) ATP Masters 1000 (0) ATP Tour 500 (1) ATP Tour 250 (1) N.DataTorneoSuperficieAvversario in finalePunteggio 1. 22 ottobre 2023 European Open, Anversa Cemento (i) Aleksandr Bublik 4–6, 4–6 2. 21 febbraio 2026 Qatar Open, Doha Cemento Carlos Alcaraz 2–6, 1–6
Next Generation ATP Finals Finali perse (1) LegendaNext Generation ATP Finals (1) N.DataTorneoSuperficieAvversario in finalePunteggio1. 2 dicembre 2023 Next Generation ATP Finals, GeddaCemento (i) Hamad Međedović4–3(6), 1–4, 2–4, 4–3(9), 1–4
Tornei minori Singolare Vittorie (2) Legenda tornei minoriChallenger (2)ITF World Tennis Tour (0) N.DataTorneoSuperficieAvversario in finalePunteggio1.15 gennaio 2023 Oeiras indoor 2, OeirasCemento (i) Joris De Loore6–1, 7–6(4)2.19 maggio 2024 Tournoi International de Bordeaux, BordeauxTerra rossa Pedro Martínez6–2, 6–3
Finali perse (3) Legenda tornei minoriChallenger (1)ITF World Tennis Tour (2)