Cresciuto nelle giovanili del Milan, nel luglio 2022 viene ceduto a titolo temporaneo al Cosenza.[4] Il 18 dicembre successivo segna la sua prima rete tra i professionisti nella sconfitta interna contro l'Ascoli per 1-3.[3] Nella sua prima stagione in Serie B totalizza 27 presenze e 5 reti, considerando anche i play-out,[3] in cui è andato a segno decidendo l'andata della sfida contro il Brescia (1-0).[5]
Al termine della stagione torna al Milan, che tuttavia lo cede nuovamente in prestito in Serie B, questa volta al Bari.[6] Il 30 agosto 2023 segna la sua prima rete con i pugliesi nel pareggio interno contro il Cittadella (1-1).[3] Termina la sua esperienza al Bari con 37 presenze e 6 reti, considerando anche i play-out.
Dopo aver fatto nuovamente ritorno al Milan ed essere stato aggregato alla neonata formazione Under-23, disputando anche uno spezzone di gara contro il Lecco valida per il primo turno della Coppa Italia Serie C, il 20 agosto 2024 passa a titolo definitivo alla Cremonese, in Serie B,[7][8] con cui firma un contratto quadriennale.[8] Il 31 agosto segna la sua prima rete con i grigiorossi, aprendo le marcature nel successo per 4-1 in casa del Sassuolo[9]