Esordisce in Marocco nel 1996 vestendo la maglia del Racing Casablanca prima e del Raja Casablanca poi, club con il quale trionferà 3 volte nel campionato nazionale e una volta in Champions League africana. Nell'estate 2001 si trasferisce in Inghilterra alla corte del Coventry City; qui vi rimane per tre stagioni prima dell'approdo al Norwich. Dopo ulteriori tre annate il Southampton lo acquista nel mercato estivo del 2007, trattenendolo, però, solo fino al 2008. Si trasferisce in Qatar e decide di indossare la maglia del Qatar SC sino al 2013, anno del ritiro dal calcio giocato.
Con la nazionale marocchina viene convocato per la prima volta in occasione delle Olimpiadi del 2000 dove, però, la selezione nordafricana non supera il primo turno. In nazionale maggiore prenderà parte a quattro edizioni della coppa d'Africa (2002, 2004, 2006 e 2008) prima dell'addio dato nel 2009.