Throughout his career, he has played for eight different Italian clubs, winning three consecutive Serie A titles from the 2011–2012 to 2013–14 season with Juventus. With the Turin-based club he also won two Supercoppa Italiana in 2012 and 2013. He also won the 2002–03 Serie C2 with Fiorentina. In the Serie A he also represented Torino, Ascoli, Udinese and Napoli.