Lors de l’invasion de la Tchécoslovaquie en 1969, il part avec le pigiste de Reuters : Gérard Le Moall et prend goût aux voyages politico-touristiques : Cuba, l’Algérie....
Il devient ensuite imprimeur, journaliste « localier » puis animateur culturel. Son premier roman Meurtres pour mémoire paraît en 1984. Depuis, il a écrit une trentaine de roman noir où il explore les errements de notre société et les non-dits de la décolonisation (Cannibales, 1998).
Il a reçu le prix populiste, le prix Louis Guilloux, le grand prix de littérature policière, le prix du Roman Noir, le prix Goncourt du livre de jeunesse et le prix Féval de Littérature policière pour l'ensemble de ses œuvres.
Actuellement, il collabore à amnistia.net, un quotidien en ligne d’information et d’enquêtes.
Sa première incursion dans la bande dessinée est signé Tardi (Le Der des der). Mais c'est chez Emmanuel Proust éditions qu'il écrit son premier scénario inédit de bande dessinée Carton Jaune ! inspiré par l'histoire vraie d'un boxeur qu'il transpose dans l'univers du football pendant la Coupe du Monde de 1938. Pour le dessinateur Mako, il écrit les bandes dessinées Bravado prévue en trois volumes et Le Train des oubliés.