A 13 anni, proveniente dall'Antoniana Como[1], è entrato nel vivaio della Pallacanestro Cantù, con cui è cresciuto e ha poi esordito in Serie A nella stagione 2010-2011. Ha esordito in Eurolega nella stagione successiva, segnando anche 5 punti nella sfida con il Real Madrid.
Nella stagione 2014-15, a soli 22 anni, gli è stato affidato il ruolo di capitano riuscendo a scendere sul parquet in tutti i 35 incontri disputati dal proprio club.
Durante i playoff contro la Reyer Venezia ha sfoggiato delle grandi prestazioni mettendo a segno 19 punti con 100% da due in gara 4 portando la serie di quarti di finale a gara 5.
Viene confermato nella stagione 2015-16, assumendo un ruolo di prim'ordine all'interno della squadra.
In occasione della gara esterna contro la Reyer Venezia del 6 dicembre 2015, fa registrare una prestazione da 34 punti, suo massimo in carriera[2].
Il 10 gennaio 2016 vince la gara delle schiacciate nell'ambito dell'All Star Game, indossando la maglia di Kobe Bryant.
Il 29 giugno seguente sfrutta una clausola presente nel suo contratto e si svincola da Cantù[3], firmando poi il 1º luglio 2016 con l'Olimpia Milano[4].
Il 19 luglio 2018 firma un contratto biennale con Brescia[5].
Il 15 giugno 2020 firma un contratto pluriennale con la Virtus Bologna. L’11 Giugno 2021 vince il suo secondo scudetto battendo in finale Milano per 4-0.
[6]
Convocato anche l'anno successivo in Nazionale Under-20, contribuisce alla conquista dell'Europeo Under-20 2013 con una media di 23,6 minuti, 11,6 punti e 4,7 rimbalzi a partita e viene inserito nel miglior quintetto della manifestazione con il connazionale Amedeo Della Valle[10].
Ha disputato inoltre, con la nazionale maggiore, anche l'edizione 2014 dell'All Star Game[11].
Nel giugno del 2015 ha partecipato all'Euro Camp, entrando nel miglior quintetto. Questa prestazione gli ha dato la possibilità di mettersi ulteriormente in mostra ed entrare nella lista degli eleggibili al Draft NBA 2015, senza però essere scelto.
Nel 2017 disputa le qualificazioni e le fasi finali dei Campionati Europei arrivando fino ai quarti di finale, dove la nazionale viene battuta il 13 settembre dalla Serbia[12].
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 16 febbraio 2012. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 13 aprile 2014. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 7 novembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 17 giugno 2016. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 18 giugno 2016. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 25 giugno 2016. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 26 giugno 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 30 giugno 2016. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 30 luglio 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 20 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 9 agosto 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 20 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 11 agosto 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 20 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 13 agosto 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 20 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 18 agosto 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 20 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 19 agosto 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 13 giugno 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 20 agosto 2017. URL consultato il 21 agosto 2017 (archiviato dall'url originale il 21 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 23 agosto 2017. URL consultato il 23 agosto 2017 (archiviato dall'url originale il 24 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 24 agosto 2017. URL consultato il 24 agosto 2017 (archiviato dall'url originale il 25 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 25 agosto 2017. URL consultato il 25 agosto 2017 (archiviato dall'url originale il 26 agosto 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 31 agosto 2017. URL consultato il 31 agosto 2017 (archiviato dall'url originale il 1º settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 2 settembre 2017. URL consultato il 2 settembre 2017 (archiviato dall'url originale il 3 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 3 settembre 2017. URL consultato il 4 settembre 2017 (archiviato dall'url originale il 4 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 5 settembre 2017. URL consultato il 5 settembre 2017 (archiviato dall'url originale il 5 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 6 settembre 2017. URL consultato il 6 settembre 2017 (archiviato dall'url originale il 7 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 9 settembre 2017. URL consultato il 9 settembre 2017 (archiviato dall'url originale il 10 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 13 settembre 2017. URL consultato il 15 settembre 2017 (archiviato dall'url originale il 14 settembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 24 novembre 2017. URL consultato il 24 novembre 2017 (archiviato dall'url originale il 1º dicembre 2017).
^ Ufficio Stampa FIP, Tabellino del match su FIP.it, in FIP.it, 26 novembre 2017. URL consultato il 26 novembre 2017 (archiviato dall'url originale il 1º dicembre 2017).