Danny Vinyard (Edward Furlong), a high school student and budding neo-Nazi in Venice Beach, California, receives an assignment from Mr. Murray (Elliott Gould), his history teacher, to write a paper on “any book which relates to the struggle for human rights”. Knowing Murray is Jewish, Danny writes his paper on Adolf Hitler’s Mein Kampf. Murray attempts to get Danny expelled for doing this, but Principal Dr. Bob Sweeney (Avery Brooks) — who is black — refuses, instead informing Danny that he will study history and current events under Sweeney, and that the class will be called “American History X”. Danny’s first assignment is to prepare a paper on his brother Derek (Edward Norton), a former neo-Nazi leader who has just been released from prison after serving three years for voluntary manslaughter. Danny is warned that failing to submit the paper the next morning will result in his expulsion. The rest of the film alternates between a series of vignettes from Danny and Derek’s shared past (distinguished by being shown in black and white), and present day events (shown in color).
Derek and Danny’s father is Dennis Vinyard (William Russ), a firefighter who displays racist tendencies in reaction to the news that Derek’s English teacher, Dr. Sweeney, had assigned Richard Wright’s novel Native Son. Sent on a call to fight a fire in a drug den, Dennis is murdered by black drug dealers. In a television interview conducted after Dennis’s death, Derek erupts in a long racist tirade. Shortly thereafter, Cameron Alexander (Stacy Keach) and Derek form a white supremacist gang called the D.O.C. (Disciples of Christ)
A skilled basketball player, Derek is reluctantly dragged into a 3-on-3 game against several members of the Crips in which the prize is control of the recreation center basketball courts. Derek and his friends win the game. Later that evening, Derek leads a large gang of skinheads to attack a supermarket owned by a Korean. They wreck the store, robbing it, and Derek tortures a Mexican woman before escaping after the robbery. The next day, his mother Doris (Beverly D’Angelo) invites Mr Murray, whom she is dating, home for dinner. A dinnertime discussion about Rodney King and police brutality turns into a full-blown argument between Derek and Murray. When Derek reveals his swastika tattoo and threatens Murray with violence for “invading his family”, Murray leaves and Doris orders Derek out of her home. That night, as Derek and his girlfriend Stacey (Fairuza Balk) have sex, Danny hears people (the three gang members whom Derek beat at basketball) attempting to steal Derek’s truck. Derek grabs a 9mm Ruger P94 pistol and heads outside. He shoots one of the thieves to death and curb stomps another. Immediately arrested, Derek is sentenced to three years in prison.
Derek is given a job in the prison laundry and is assigned to be the partner of Lamont (Guy Torry), a black man who is serving six years for assault. Lamont stole a television set from a store and broke the arresting officer’s foot when he accidentally dropped the television on him. The pair develop a rapport from their shared love of basketball.
In prison, Derek joins the Aryan Brotherhood but, after about a year, he becomes disillusioned with the racist gang, particularly over the group’s hypocritical friendly relations with a Mexican gang member, and their trafficking of narcotics. In response to Derek’s criticisms, Aryan Brotherhood members savagely beat and rape him in the shower. While recovering from the attack, Derek is visited by Sweeney, whom he asks for help to be paroled. Sweeney informs him of Danny’s involvement with neo-Nazis, and warns that he is on the same path as his older brother. Sweeney confesses that he hated white people as a youth, but eventually realized that hatred is pointless.
Derek further distances himself from the Aryan Brotherhood and changes his outlook on life. He spends the remainder of his time in prison alone, reading books that Sweeney sends him. He fears that the prison’s black inmates will attack him, but they leave him alone, thanks to Lamont’s persuasion. Finally realizing the error of his ways, Derek leaves prison a changed man.
In the evening that Derek returns home from prison, he finds that Danny has a D.O.C. tattoo. Derek tries to persuade Danny to leave the gang. Later that night, they both go to a neo-Nazi party, where Derek tells the leader, Cameron, that he and Danny will no longer associate with the neo-Nazi movement. Cameron provokes Derek, who beats him up. In response, Danny’s neo-Nazi friend Seth Ryan (Ethan Suplee) runs after Derek and aims a pistol at him, which Derek wrestles from him and points at the angry crowd before running away. Danny angrily confronts Derek, who tells him about his experience in prison, which seems to prompt a change in Danny. Back at their home, they remove all the white power posters from their bedroom walls.
The following morning, Danny finishes his paper and Derek gets ready for a meeting with his parole officer. Derek walks Danny to school before his meeting, and on their way they stop at a diner where they are met by Sweeney and a police officer. They tell Derek that Cameron and Seth were attacked the previous night and have been hospitalized.
At school, Danny is confronted by a young black student named Little Henry, with whom he had a confrontation the previous day. Little Henry pulls out a 9mm Beretta 92FS pistol and shoots Danny in the chest, killing him. When Derek arrives at the school, he runs into the bathroom and tearfully cradles his dead brother in his arms.