Zijn eerste trainersklus begon Di Carlo bij Vicenza in de Primavera (jeugd). Hierna vertrok hij naar Mantova in de Serie C2 en wist de club weer de Serie B in te loodsen voor het eerst in decennia. In zijn eerste seizoen in de Serie B behaalde bij met Mantova de promotie play-offs, die verloren werden van Torino. Zijn tweede seizoen bij Mantova resulteerde in een achtste plaats. Op 12 juni 2007 werd Di Carlo hoofdcoach bij Parma in de Serie A, maar werd er op 10 maart 2008 ontslagen omdat Parma moeite had uit de degradatiezone te komen. Op 4 november 2008 pikte Chievo Verona hem op, na het ontslag van Giuseppe Iachini. Hij leidde Chievo twee seizoenen op rij naar de middenmoot van de ranglijst. Op 26 mei 2010 stapte Di Carlo op bij Chievo en op dezelfde dag tekende hij bij Sampdoria. Bij Sampdoria speelde Di Carlo voor het eerst Europees, in de Europa League in het seizoen 2010/11. Hij werd echter ontslagen op 7 maart 2011 na een 2-3 thuisnederlaag tegen Cesena. Hij werd bij Sampdoria opgevolgd door Alberto Cavasin. Op 9 juni 2011 keerde Di Carlo terug bij Chievo en voorkwam degradatie met de club. Toch werd hij op 2 oktober 2012 ontslagen en vervangen door Eugenio Corini. Op het eind van seizoen 2013/14 moest hij Livorno vanuit een hopeloze positie weten te behoeden voor degradatie. Livorno eindigde als laatste en degradeerde dus toch. Op 8 december 2014, gedurende seizoen 2014/15, werd hij aangesteld als hoofdcoach van promovendus Cesena, dat Pierpaolo Bisoli ontsloeg. Hij degradeerde met Cesena uit de Serie A en vertrok vervolgens. Op 23 november 2015 werd Di Carlo aangesteld als coach van Spezia Calcio 1906 in de Serie B. Daar vertok hij in 2017. In 2018 was hij kortstondig coach van Novara Calcio, maar na degradatie uit de Serie B werd hij ontslagen. Daarna werd Di Carlo voor een derde termijn hoofdcoach van Chievo Verona. In 2019 keerde Di Carlo terug bij Vicenza.