"People once believed that when someone dies, a crow carries their soul to the land of the dead. But sometimes, something so bad happens that a terrible sadness is carried with it and the soul can't rest. Then sometimes, just sometimes, the crow can bring that soul back to put the wrong things right."
October 30, Devil's Night, in Detroit. Sergeant Albrecht (Ernie Hudson) is at the scene of a crime where Shelly Webster (Sofia Shinas) has been beaten and raped and her fiancé, local musician and guitarist Eric Draven (Brandon Lee), has been murdered, having been stabbed, shot, and thrown out of their apartment window to the streets below. The couple had been planning their wedding for the next day; Halloween. A cop comments darkly, "Who gets married on Halloween?" Albrecht responds, "Nobody."
A crow lands nearby the crime scene. As Albrect escorts Shelly to the ambulance, he meets a young girl with a skateboard named Sarah (Rochelle Davis) who says she is a friend of Eric and Shelly and that they took care of her. Albrecht tells her that Shelly will be okay, but she senses he is lying to her.
One year later, Sarah has just placed flowers on the young couple's grave sites when a crow swoops down and lands on the headstone of Eric Draven. Sarah moves on. The crow taps at the stone with its beak.
Albrecht is at the Maxi-Dog stand loading up his hot dog with lots of onions when Sarah rides up on her skateboard and joins him. He offers to buy her dinner, she accepts, but no onions.
We cut to an arcades game store front late at night. T-Bird (David Patrick Kelly), a gang thug, and his crew are destroying the games and interior of the store. He then sets a timer on a suitcase bomb.
We cut back to the crow perched over Eric's headstone. Eric climbs out of the ground, trembling and wracked with convulsions.
At the arcade store, T-Bird and his gang race to his souped-up car, celebrating their destruction. The other gang members are Tin Tin (Laurence Mason), a thug obsessed with knives, Funboy (Michael Massee), a junkie, and Skank (Angel David), a dim-witted weasel. They climb into the car and speed off.
With some confusion, Eric stands and walks through an alley, the crow tagging along. He scavenges some shoes out of a dumpster. At the Maxi-Dog stand, Albrecht notice T-Bird's car racing through the street and remarks, "Bad people out on the street tonight." Suddenly the bomb in the arcade store erupts, setting off a fiery explosion. Albrecht rushes to the scene.
Finding the apartment in shambles, memories of the night of his death come back to him as the gang responsible, runs through the city, setting fire to it. The faces of the attackers stick in his mind and, bent on vengeance, he changes his clothes and paints his face white in parody of a porcelain harlequin mask he had given Shelly as a gift.
He then draws black liner around his eyes and down his cheeks like tears and paints his lips black with glasgow lines reaching out from the corners. Guided by the crow and sharing the crow's high perspective on the city, Eric sets out to avenge his murder and Shelly's death.
The first person he locates is Tin Tin. Eric engages in one on one combat, discovering in the process that he is immune to harm. He wins the fight by catching a knife and pinning Tin Tin to the wall with it. Eric confronts him about the murders the previous year and Tin Tin laughs in his face, mocking Shelly.
Eric finishes him off by stabbing him in each vital organ (in alphabetical order) with his own knives and takes his trench coat, leaving a crow-shaped bloodstain on the wall of the alley. Using Tin Tin's memories, he goes to the pawn shop where Tin Tin sold Shelly's engagement ring.
Eric forces the owner, Gideon (Jon Polito), to show him where the ring is located and finds it mixed in a box with dozens of other rings. He lets Gideon live so that he can deliver a message of death to the rest of the gang before he breaks a gas pipe, loads a shotgun with other rings of destroyed lives, and ignites the shop in a massive explosion. Eric locates the next thug on his list, Funboy, getting high in an apartment with Sarah's drug-addicted mother, Darla (Anna Levine).
Funboy shoots Eric in his hand and Eric mocks him by pretending to scream in pain before showing the hole in his palm heal before his eyes. Frightened, Funboy is easily disarmed by Eric and is shot in the thigh before being injected with an overdose of morphine.
Eric then confronts Darla but merely says that morphine is bad for her, taking the drug out of her arm seemingly by magic, and tells her that she should return to her daughter who is waiting for her on the streets.
Albrecht, meanwhile, has been following the deaths of the thugs around town. He doesn't share the rest of the department's view on the killings, thinking of them as more of a blessing than a curse.