Hadji began playing football in France. He signed his first contract with AS Nancy, where he spent his first season as a youth player before joining the senior squad in his second year with the club. After playing five seasons for Nancy, Hadji joined Sporting Lisbon and then Deportivo la Coruña, but it was with Coventry City where he became well known, especially in Britain, after he was signed by Gordon Strachan in 1999. Hadji was a goal-scoring attacking midfielder with great pace and skill. At Coventry, he was joined by Moroccan international, Youssef Chippo, sparking a brief trend for City fans to wear fezzes to games in their honour. After Coventry were relegated in 2001, he joined local rivals Aston Villa, having scored against them three times in the previous season. But after only playing sporadically, scoring in the league against Southampton and Everton and once in the UEFA Cup against Varteks, he was released on a free transfer to Espanyol in Spain where he remained until June 2004. Hadji later played for Al Ain in the United Arab Emirates, where he remained for one year before returning to Europe. In 2005, he signed a two-year contract with Saarbrücken in the German Second Division. At the request of the coach Horst Ehrmantraut, Hadji made a midfield pairing with another Moroccan international, Faysal El Idrissi. On 4 August 2005, Hadji made his début for Saarbrücken, on the first day of the 2. Bundesliga season, against Bochum, losing the match 4–0. After another defeat, Ehrmantraut was sacked. Rudi Bommer took over as coach and Saarbrücken lost 2–1 after extra time in the second round of the German Cup against Unterhaching. Hadji scored to give his team the lead, but was sent off in the 85th minute and was suspended for three cup matches by the German Football Association. In August 2007, Hadji signed for Fola Esch, in Luxembourg's First Division. He ended his playing career in July 2010.
International career
At the 1994 FIFA World Cup, Hadji played in all three group games for Morocco, two as substitute. In Morocco's third game against the Netherlands, Hadji set up the equalizer for Hassan Nader with his first touch after coming on as substitute. Despite this, Morocco lost all three games and were eliminated. Hadji scored a great goal in Morocco's 2–2 draw with Norway in the 1998 FIFA World Cup but Morocco again failed to qualify for the knock-out stages. He was named African Footballer of the Yearafter the World Cup in France. He played in 13 FIFA World Cup qualification matches.
Other projects
Hadji was selected as an ambassador for the 2010 World Cup by FIFA to represent Africa. He is also involved in a partnership with plans to invest in Morocco, thus providing opportunities for the local people, to help rid poverty from his homeland. Hadji is also a supporter of the charity Show Racism The Red Card. He would have been ambassador for the 2026 FIFA World Cup, representing his country if Morocco had been selected as the host.