La Haine opens with news footage of urban riots in a banlieue in the commune of Chanteloup-les-Vignes near Paris, caused by the attack and hospitalization of Abdel Ichacha, leading to an attack on the police station and for a riot police officer to lose his revolver. The film depicts approximately twenty consecutive hours in the lives of three friends of Abdel, all young men from immigrant families, living in the aftermath of the riot.
Vinz is a young Jewish man with an aggressive temperament who wishes to avenge Abdel, has a blanket condemnation of all police officers, and secretly reenacts Travis Bickle from Taxi Driver in the bathroom mirror. Hubert is an Afro-French boxer and small-time drug dealer who only thinks of leaving the city for a better life and refuses to provoke the police, but whose boxing gymnasium was burned down in the riots. Saïd is a young North African Muslim who plays a mediating role between Vinz and Hubert.
The three go through an aimless daily routine, frequently finding themselves under police scrutiny. After the police break a rooftop gathering and the three sit idly on a playground, Vinz reveals to the other two that he has found the .44 Magnum revolver lost in the riot, and plans to use it to kill a police officer if Abdel dies. Although Hubert disapproves, Vinz secretly takes the gun with him. The three go to see Abdel in the hospital, but are turned away by the police. Saïd is arrested after their aggressive refusal to leave.
The group narrowly escapes after Vinz nearly shoots a riot officer. They take a train to Paris, where their responses to both benign and malicious Parisians cause several situations to escalate to dangerous hostility. In a public restroom, a Gulag survivor tells them of a friend who refused to relieve himself in public and subsequently froze to death, puzzling the three as to the meaning of the story.
They then go to see Astérix, a crack addict who owes Saïd money, leading to a violent confrontation as he tries to force Vinz to play Russian roulette. A run-in with sadistic plainclothes police, who verbally and physically abuse Saïd and Hubert, results in the three missing the last train from Saint-Lazare station and spending the night on the streets.
After being kicked out of an art gallery and unsuccessfully trying to hotwire a car, the trio stay in a shopping mall and learn from a news broadcast that Abdel is dead. They travel to a roof-top from which they insult skinheads and policemen, before encountering the same group of skinheads who begin to beat Saïd and Hubert savagely. Vinz breaks up the fight at gunpoint, catching a single skinhead. His plan to execute him is thwarted by his reluctance to go through with the deed, and, cleverly goaded by Hubert, he is forced to confront the fact that his heartless gangster pose does not reflect his true nature. Vinz lets the skinhead flee.
Early in the morning, the trio return home and Vinz turns the gun over to Hubert. Vinz and Saïd encounter a plainclothes officer whom Vinz had insulted earlier whilst with his friends on a local rooftop. The officer grabs and threatens Vinz, taunting him with a loaded gun held to his head. Hubert rushes to their aid, but the gun accidentally goes off, killing Vinz. As Hubert and the officer point their guns at each other and Saïd closes his eyes, a single gunshot is heard, with no indication of who fired or who may have been hit.
This stand-off is underlined by a voice-over of Hubert’s slightly modified opening lines (“It’s about a society in free fall…”), underlining the fact that, as the lines say, jusqu’ici tout va bien (“so far so good”); all seems to be going relatively well until Vinz is killed, and from there no one knows what will happen, a microcosm of French society’s descent through hostility into pointless violence.