Ha iniziato a giocare alla Virtus Castelvecchio per passare poi ai settori giovanili della San Francesco '93 di Cingoli e della Settempeda. Si trasferisce al Tolentino dove viene notato da Antonio Bongiorni, osservatore dell'Atalanta e ds della Polisportiva Margine Coperta di Massa e Cozzile (PT), società-satellite degli orobici in Toscana, che lo tessera. Viene chiamato da Mino Favini, responsabile del settore giovanile nerazzurro, che lo porta direttamente nella sede di allenamento di Zingonia. Il calcio professionistico lo vede esordire con l'Atalanta per poi passare al Milan con cui ha vinto un trofeo. E' arrivato alla Fiorentina da svincolato e il suo contratto è il scadenza il 30.06.2024 ma le trattative per il rinnovo sono ben avviate. Fa parte della scuderia Raiola
Ha giocato nel Padova nella stagione 2009/10 in Serie B insieme al suo attuale allenatore Vincenzo Italiano