Entrato a far parte dello staff del Crotone come allenatore dei Giovanissimi nella stagione 2005-2006, nel 2008-2009 è passato con la prima squadra come collaboratore tecnico e nella stagione 2011-2012 ha ricoperto il ruolo di allenatore in seconda fino al 22 gennaio 2012. Dal 23 gennaio, in seguito all'esonero di Leonardo Menichini, è stato nominato allenatore della prima squadra[1]. Debutta in panchina il 27 gennaio in Juve Stabia-Crotone (2-2).[2] Ottiene la sua prima vittoria sulla panchina pitagorica contro l'AlbinoLeffe per 5-2, che darà inizio a una serie di vittorie, tra cui quelle contro Padova e Sampdoria.
Il 10 dicembre 2012 inizia a frequentare a Coverciano il corso di abilitazione per il master di allenatori professionisti Prima CategoriaUEFA Pro[3].
In questa stagione si piazza 12º in campionato, l'anno seguente arriva 6º perdendo il primo turno dei play-off con il Bari mentre nel 2014/2015 riesce a salvarsi all'ultima giornata pareggiando per 0-0 lo scontro diretto con l'Entella.
Il 28 maggio 2015 risolve consensualmente il contratto che lo legava al club calabrese.[4]
L'8 giugno successivo assume la guida del Cesena, formazione appena retrocessa in Serie B.[5]
Il 30 ottobre 2016, a seguito dei deludenti risultati ottenuti, la società del Cesena decide di esonerarlo tramite comunicato ufficiale sul proprio sito.
Il 4 febbraio 2019 gli viene assegnato l'incarico di allenare la Reggina, in sostituzione dell'esonerato Roberto Cevoli.[6]. Il 7 aprile viene esonerato a seguito della sconfitta interna contro la diretta avversaria ai play-off, la Sicula Leonzio, dopo aver ottenuto 9 punti in altrettante gare.