In Clamart im Pariser Ballungsraum geboren und im nahegelegenen Châtenay-Malabry aufgewachsen, begann Hatem Ben Arfa beim dort ansässigen Sportverein Voltaire mit dem Fußballspielen und setzte es bei SM Montrouge, AC Boulogne-Billancourt und dem FC Versailles fort, bevor er ins Leistungszentrum des Französischen Fußballverbandes Clairefontaine gelangte. Nach einem Jahr Aufenthalt wechselte er in die Jugendabteilung von Olympique Lyon. Ein Jahr später rückte er in die zweite Mannschaft auf und erhielt wiederum ein Jahr später seinen ersten Profivertrag mit einer dreijährigen Laufzeit bis 2008. In seiner ersten Spielzeit im Seniorenbereich bestritt er neun Punktspiele, wobei er am 6. August 2004 (1. Spieltag) beim 1:0-Sieg im Auswärtsspiel gegen den OGC Nizza sein Debüt gab und am Saisonende mit der Meisterschaft auch seinen ersten Titel gewann. Des Weiteren absolvierte er vier Champions-League-Spiele. Beim 2:1-Sieg am 6. Dezember 2005 gegen Rosenborg Trondheim spielte er das erste Mal über 90 Minuten in der „Königsklasse“; sein Trainer Gérard Houllier konnte auf einige erfahrene Spieler verzichten, da der erste Platz in der Gruppenphase nicht gefährdet war. Der Siegtreffer von seinem brasilianischen Vereinsmitspieler Fred gelang nach toller Vorarbeit von ihm. 2006, 2007 und 2008 verteidigte er mit Lyon den Meistertitel. Außerdem gewann er mit der Mannschaft 2005, 2006 und 2007 die Trophée des Champions und 2008 den Vereinspokal. Im Sommer 2008 wechselte er für 15 Millionen Euro zum Ligakonkurrenten Olympique Marseille, bei dem er sich aber mit Trainer Deschamps überwarf und Marseille unbedingt verlassen wollte. Dabei war er dort in der Saison 2009/10 Meister, Liga- und Superpokal-Sieger geworden.
Am 28. August 2010 unterschrieb er einen Ein-Jahres-Vertrag auf Leihbasis beim englischenErstliga-Aufsteiger Newcastle United.[2] Für die Magpies bestritt er vier Punktspiele, bevor er sich am 3. Oktober 2010 bei der 1:2-Niederlage im Auswärtsspiel gegen Manchester City durch ein Foul von Nigel de Jong einen Schien- und Wadenbeinbruch zuzog.[3] Obwohl er den Großteil der Hinrunde der Saison 2010/11 aufgrund der schwerwiegenden Verletzung verpasst hatte, war der Erstligist von seinen Fähigkeiten überzeugt. Im Januar 2011 wurde er für eine Ablöse von 6 Millionen Euro verpflichtet und unterschrieb einen bis zum 30. Juni 2015 gültigen Vertrag.[4] Im September 2014 wechselte Ben Arfa zum Ligakonkurrenten Hull City. Das bis zum Saisonende vereinbarte Leihgeschäft wurde allerdings zum Jahresende nach nur acht Punktspielen beendet. Daraufhin löste er am 4. Januar 2015 seinen Vertrag mit Newcastle United auf und kehrte nach Frankreich, zum Erstligisten OGC Nizza, zurück.[5] Am 14. Januar 2015 verweigerte ihm die FIFA die Spielgenehmigung für die laufende Saison 2014/15. Grund dafür war, dass er im August ein Spiel für die Nachwuchsmannschaft von Newcastle United absolvierte, welches als Pflichtspiel gewertet wurde. Laut FIFA-Statuten sind Pflichtspiele für drei verschiedene Vereine während einer Saison unzulässig.[6] Nachdem die Entscheidung von einem französischen Gericht bestätigt worden war, verließ er den Verein am 3. Februar vorerst wieder und schloss sich ihm jedoch zur Saison 2015/16 erneut an.[5][7]
Nach einer persönlich überaus erfolgreichen Saison in Nizza, in der ihm in 34 Ligaspielen 17 Tore und beim 3:0-Sieg gegen Stade Rennes am 10. April 2016 ein Hattrick gelangen, wechselte Ben Arfa zur Saison 2016/17 zu Paris Saint-Germain. Er erhielt beim amtierenden Meister einen bis zum 30. Juni 2018 datierten Zweijahresvertrag.[8] Bei PSG konnte sich Ben Arfa jedoch nicht durchsetzen und wurde sogar über ein Jahr lang nicht mehr eingesetzt.[9]
Am 2. September 2018 unterzeichnete Ben Arfa bei Stade Rennes einen Einjahresvertrag mit der Möglichkeit auf ein weiteres Jahr. Dort konnte er sich sogar als Stammspieler durchsetzen und wurde erstmals am 6. Spieltag bei der 3:1-Niederlage gegen Paris Saint-Germain eingesetzt. Nur drei Spieltage später erzielte er den Siegtreffer zum 2:1-Sieg gegen den AS Monaco.[10] Auch in der UEFA Europa League war der Mittelfeldspieler gesetzt und konnte fast alle Spiele über die volle Spielzeit absolvieren. Er konnte in seinen neun Spielen insgesamt zwei Tore erzielen, davon eines beim 2:1-Sieg in seinem ersten Spiel gegen den FK Jablonec. Trotz guten Leistungen wurde der auslaufende Vertrag trotz möglicher Option nicht verlängert.[11]
In der Winterpause unterschrieb er dann beim spanischen ErstligistenReal Valladolid. Sein Debüt in der Primera División gab er am 8. Februar 2020 beim Heimspiel gegen den FC Villarreal, welches mit einem 1:1 endete. Sein auslaufender Vertrag wurde aufgrund von schlechten Leistungen nicht verlängert.
Anfang Oktober wechselte der vereinslose Ben Arfa zu Girondins Bordeaux.[12] Im Sommer 2021 verließ er den Verein wieder. Zwischen Januar und Juli 2022 stand er beim OSC Lille unter Vertrag.[13]
Am 13. Oktober 2007 debütierte er in Tórshavn im Test-Länderspiel gegen die Auswahl der Färöer, wobei er in der Nachspielzeit mit dem Treffer zum 6:0-Endstand sogleich sein erstes Länderspieltor erzielte – nachdem er in der 62. Minute für Franck Ribéry eingewechselt worden war.
Im Mai 2010 von Nationaltrainer Raymond Domenech in den vorläufigen Kader zur Weltmeisterschaft 2010 berufen, wurde Ben Arfa kurz darauf, am 17. Mai, von Domenech jedoch im endgültigen Aufgebot nicht mehr berücksichtigt.
Hatem Ben Arfa besitzt mit der französischen und der tunesischen eine doppelte Staatsbürgerschaft und entschied sich früh, für den französischen Verband zu spielen.