Le film raconte, sur une période de 19 ans (de 1994 à 2013), l'histoire de Marco (Alban Lenoir) et de ses acolytes, Braguette (Samuel Jouy), Grand-Guy (Paul Hamy) et Marvin (Olivier Chenille). Ils sont ce que l'on appelle des skinheads et passent leurs journées à cogner des noirs et des arabes, à se battre contre des punks et des redskins, et à coller des affiches de l'extrême-droite. Mais peu à peu, au fil des années, Marco se remet en question et décide de se repentir, de devenir quelqu'un de bien et d'abandonner cette haine et ce mépris. On va alors suivre le parcours d'un homme essayant par tous les moyens d'abandonner la colère, la violence et la bêtise qui le rongent pendant qu'autour de lui, à l'inverse, la société se radicalise de plus en plus et plusieurs personnes de son entourage, notamment sa petite amie et un de ses amis, tous deux décidés à garder leurs idéaux racistes, xénophobes, islamophobes, homophobes..., ne le reconnaissent plus.
Le film raconte l'histoire vraie du skinhead américain Bryon Widner, un néo-nazi appartenant à un groupuscule ultra-violent et xénophobe, qui fut sur la liste des personnes les plus recherchées par le FBI. Il change de vie après avoir rencontré Julie, dont il tombe fou amoureux, mais son passé revient à la surface, révélé par ses tatouages recouvrant son visage et son corps...