Inizialmente il ruolo del protagonista di American History X: fu affidato a Joaquin Phoenix ma l'attore rifiutò la parte, dopo una breve analisi della sceneggiatura, a causa delle tematiche trattate nella pellicola: Phoenix credeva che fossero troppo intense ed estremamente controverse.
Il nome di Edward Norton fu fornito a Tony Kaye, regista del film, dall'addetta al casting, dopo un lungo periodo di incertezza sul ruolo del protagonista. Kaye inizialmente rifiutò la proposta non ritenendolo adatto alla parte, ma successivamente accettò l'idea. Norton era scettico: sia per il tema trattato sia per la malattia della madre che morì 10 giorni prima dell'inizio delle riprese.
In seguito l'attore americano decise di prendere parte al film nonostante le sue riserve nei confronti della produzione, fu costretto a mettere su 14 chili di massa muscolare e alla fine il suo coinvolgimento nel progetto divenne tale che accettò perfino di dimezzare il suo salario pur di girare la pellicola.
Il personaggio interpretato da Norton in American History X, Derek Vinyard, in realtà trae ispirazione dalla vita di Frank Meeink: ex leader di una gang neonazista che cambiò vita dopo aver scontato la sua condanna in prigione per l'uccisione di un uomo divenendo poi un celebre attivista antirazzista.