He played six matches for the Italy national football team from 2005 to 2006.
Di Michele, whose mother is from Casarano, began his career with Lodigiani (now Cisco Roma) in the Italian Serie C1 near to his hometown Guidonia Montecelio, and played for them from 1993 to 1996. He was then transferred to Foggia Calcio in the Italian Serie B.
He had a short stint in Foggia, playing just two seasons before being transferred to Salernitana. With Salernitana, he made his Serie A debut, however the following year Salernitana were relegated to Serie B.
After two seasons with Salernitana in Serie B, he was transferred to Udinese on an undisclosed fee for the 2001–02 season. After the 2001–02 season with Udinese, he played two seasons with Reggina, only to be transferred back to Udinese in 2004–05. In the 2005–06 season, he played half a season with Udinese and took part in the UEFA Champions League.
In a 2004–05 Coppa Italia match against Lecce, he scored two goals, before replacing keeper Samir Handanović in goal, after the latter was sent off. He stopped a key penalty in the final minutes of the game to ensure a 5–4 victory for Udinese.
Halfway through the 2005–06 season Di Michele's contract was sold to Palermo for €5.35 million, with Simone Pepe, Salvatore Masiello and Nicola Santoni moving to oppose direction in co-ownership deals. He made his debut for Palermo in a Serie A home match against Parma, in which he scored two goals in a 4–2 win. In his 2005–06 season, Di Michele played 19 matches, scoring seven goals.
In March 2007, Di Michele was found guilty of illegal betting and received a three-month ban from Serie A. He also received a $27,000 fine. Betting was not illegal for Italian players until November 2005, but Di Michele, along with three others, placed bets through an illegal bookmaker. However, he was allowed to play in friendlies, and to take part in training, so he was able to retain match fitness.
On 5 July 2007 Palermo announced they had sold him to Torino, for €3.5 million He signed a four-year contract. On 31 July FIGC announced Di Michele was suspended until November. He made 25 appearances with the granata, scoring a total of six goals in the 2007–08 season.
On 2 September 2008, Di Michele was loaned to West Ham United, with an option for the English club to make the deal permanent. He made his debut for West Ham in the 3–2 defeat to West Bromwich Albion on 13 September 2008, coming on as a substitute for the injured Dean Ashton. In his second game for West Ham, on 20 September 2008, he scored his first goals in English football, and for West Ham, in the 3–1 home win against Newcastle United However, at the end of the season manager Gianfranco Zola did not take up the option of making the deal permanent.
During 2009–10 season, Ultras of Torino attacked the players during Di Michele's birthday party. After the incident the players involved: Di Michele, Massimo Loviso, Riccardo Colombo, Aimo Diana, Marco Pisano, Francesco Pratali, Paolo Zanetti were transferred to other clubs and only Rolando Bianchi, Matteo Rubin and Angelo Ogbonna were remained.
He was signed by U.S. Lecce in January 2010. Having gained a place in the starting eleven, he was one of the decisive men in Lecce's successful Serie B campaign. In his first season back in Serie A with Lecce, he scored 8 goals in 23 appearances. On 24 June 2011, he renewed his contract for one more year. In the 2011–12 Serie A season, he led the team with 11 goals scored in league play. However, at the end of the season Lecce were relegated back to Serie B after a 17th-place finish.
On 13 July 2012, Di Michele was officially signed by A.C. ChievoVerona.
In January 2013, Di Michele rescinded his contract with Chievo and was signed by his former club Reggina, eight years after leaving them. He joined the Serie B club to cover the loss of Fabio Ceravolo, who transferred to Ternana for €500,000.
In 2015, he left Reggina to join newly-promoted Lega Pro club Lupa Roma.
Di Michele retired in December 2015 to switch to a non-playing staff role at his latest club Lupa Roma. On April 2016, he was named new joint head coach of the club, together with Angelo Quinzi, in place of Alessandro Cucciari.
He was successively confirmed as head coach for the new season, but successively dismissed on October 2016 due to poor results. He was then re-hired one month later by a new club management who took over from former president Alberto Cerrai.Individual
Coppa Italia Top-scorer: 1999–2000