Nasce cestisticamente a Pesaro, città di origine, nelle giovanili della V.L. Pesaro. Esordisce in Serie A il 4 ottobre 2003, giocando un minuto contro Olimpia Milano (81-56).
Nell'estate 2007 il grande salto: la Sutor Montegranaro gli propone un triennale in Serie A.
Il 12 luglio 2012 firma un contratto biennale con la Pall. Reggiana. Nella stagione 2013-14 vince l'EuroChallenge con Reggio Emilia venendo anche eletto MVP di quell'edizione.
Nella stagione 2014-15 raggiunge con i reggiani la finale scudetto, persa contro la Dinamo Sassari 4-3.
Nell'estate 2015 firma un contratto biennale con l'Olimpia Milano, in seguito rinnovato più volte, diventando nel 2016 anche il capitano della squadra.
Con la Nazionale Italiana ha partecipato agli europei 2011, 2013 e 2015 nei quali la squadra arriva ai quarti di finale, dove viene sconfitta dalla Lituania.
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.