High school student Danny Vinyard (Edward Furlong) receives an assignment from his history teacher Mr. Murray (Elliott Gould) 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) 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.
Derek and Danny's firefighter father Dennis Vinyard (William Russ) exposes his own racism 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' 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). As 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. After winning with his friends, Derek leads a large gang of skinheads to attack a supermarket owned by a Korean. Derek's mother Doris (Beverly D'Angelo) invites Murray, whom she is dating, home for dinner, which turns into a full-blown argument between Derek and Murray, causing themselves to leave. That night as Danny hears people attempting to steal Dennis' truck, Derek shoots and kills one of the thieves and curb stomps another, before being arrested by the police and being sentenced to three years in prison for voluntary manslaughter.
Derek is given a job in the prison laundry and assigned to be the partner of Lamont (Guy Torry), a black man who is serving six years for assault. The pair develop a rapport from their shared love of basketball. Derek joins the Aryan Brotherhood, but after about a year, he becomes disillusioned with it. After being attacked in the shower by the Aryan Brotherhood members, Derek recovers and 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 Derek. Derek further distances himself from the Aryan Brotherhood and spends the remainder of his time in prison alone, reading books that Sweeney sends him. Finally realizing the error of his ways, Derek leaves prison a changed man. He finds that Danny has a D.O.C. tattoo and tries to persuade Danny to leave the gang. They subsequently go to a neo-Nazi party, where Derek tells Cameron that he and Danny will no longer associate with the neo-Nazi movement. Derek tells Danny about his experience in prison, which seems to prompt a change in Danny.
The next 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. Sweeney and a police officer tell Derek that his friend Seth Ryan (Ethan Suplee) and Cameron were attacked the previous night. At school, Danny is confronted by a young black student named Little Henry, who shoots and kills Danny. Derek arrives at the school and mourns for Danny. In a voice over, Danny reads the final lines of his paper for Dr. Sweeney, stating, "Hate is baggage. Life's too short to be pissed off all the time. It's just not worth it," and then quoting the final stanza of Abraham Lincoln's first inaugural address.

Question: Who shoots Danny?
Answer: Little Henry