Undercover narcotics officer Nick Tellis (Jason Patric) chases a drug dealer through the streets of Detroit after Tellis' identity has been discovered. During the pursuit, the dealer holds a child hostage. Tellis shoots and kills the dealer before he can hurt the child, however a stray bullet hits the child's pregnant mother, causing her to miscarry.
Eighteen months later, the Detroit Police Department asks Tellis to investigate the murder of an undercover narcotics officer called Michael Calvess. Tellis is initially reluctant, as there is little else he can do for a living however, he reads the investigation files and agrees to take the case, on two conditions. The first: he will get a desk job if he secures a conviction. The second: he is partnered with detective Henry Oak (Ray Liotta), whom Tellis is aware of through reading the files on Calvess' death. Tellis' reason for wanting Oak is his opinion that the only useful evidence in the investigation came from him. The department chief informs Tellis of Oak's reputation as a driven and effective policeman, but also warns him about his instability. Despite his reservations, Oak is assigned to the case.
The two build a rapport during a violent investigation. Oak is a dedicated but haunted cop who uses brutal force on criminals, who believes the department want the case buried. During the investigation, Oak reveals that his wife died of cancer, and they had no children. He recalls a drug bust decades prior, where he found a ten-year-old girl naked who was being sold for prostitution by her stepfather for rent money, resulting in Oak beating the man bloody. He sees parallels between that case and the current one.
Meanwhile, Tellis' wife is worried for her husband's well-being. Tellis visits Calvess' widow Kathryn, and asks about her and her husband's relationship when he was on the street. Oak turns up at the house and is furious at Tellis as Kathryn has been persistently interviewed by police. He is protective of Kathryn and her children's safety.
Tellis and Oak visit the scene of an apparent murder of a drug dealer and gun collector, shot dead in his bathtub. Tellis discovers the bullet had no fire-pin mark, and surmises that the man used it as a bong and forgot it was loaded. Once heated, the shotgun discharged, killing the user. Tellis also notes that the shotgun in question is a SWAT tactical issue weapon with the serial number filed off, suggesting that it had been stolen from police premises or supplied from within.
Determining that this lead is fruitless, they visit the house of a Eugene Sheps, a man involved in the initial shootout involving Tellis. Although they find no evidence to suggest Sheps murdered Calvess, they find another officer's badge on the premises. Sheps pulls a gun and wounds Tellis before Oak kills him in self-defense.
At home, Tellis is confronted by his wife who, unable to bear seeing him endanger his life, leaves him. The case is closed as Sheps is determined to be Calvess' killer. Tellis and Oak are furious as they believe the killer is yet to be found, and continue to investigate independently.
Oak determines that suspects are in an auto body shop. There, Oak finds and disarms one suspect while Tellis chases another outside and shoots him in the leg. After they are bound, Oak attempts to force a confession out of them. Tellis is increasingly suspicious of Oak's tactics, especially after viewing files that suggest Oak had thrown out prostitution charges for a woman. Oak finds police issue guns in the trunk of one man's car, including one that belonged to Calvess, and he beats both men until Tellis tells him to get CSI tools from the car.
When Oak leaves the room, Tellis locks the door, turns on the tape recorder, and asks for the truth. The dealers explain that Calvess blew Tellis' cover eighteen months before, causing the shootout. They recount Calvess' degeneration into chemical dependency. On the day of the murder, Calvess tried to deal with the two dealers, but it went badly. At that point Oak arrived, having trailed Calvess to confirm rumors that he was an addict. Calvess went for his weapon, which was the dealers' justification for attacking him. The two men ran off as Oak shot at them.
Tellis confronts Oak, telling him that the dealers claim Oak shot at them, hitting one in the shoulder, before murdering Calvess. Oak denies this, then Tellis raises the issue of Oaks' relationship with Calvess' wife Kathryn.
As it turns out, Kathryn was the ten-year-old girl whose father pimped her. Oak considers her the daughter he never had, and has remained close. He has been protecting her by covering crimes she committed in her teenage years. Tellis tells Oak he will make the arrest, and Oak beats him with the shotgun, and resumes brutalizing the dealers. He turns the tape recorder on and attempts to beat a confession out of the men, threatening to shoot them. Tellis breaks into their car, retrieves a gun, calls for back-up, and re-enters the building. He shoots Oak when Oak refuses to put his gun down. Tellis moves to aid Oak, and, realizing he's dying, pleads for the truth of what happened the night Calvess died.
Oak explains (silently, shown in flashback) that Calvess shot at the dealers as they fled from Oak, leaving the shoulder wound. Oak argued with him, explaining that he had had enough of defending Calvess and would turn him in to the Department. In despair, Calvess took his gun and shot himself in Oak's presence. Oak had been protecting his name and family since, so Calvess' wife could receive his pension and support her daughters. If the Department knew it was a suicide, Calvess' wife would not have received the pension. Oak's motive was to convict Mike's "murderers", the dealers who he felt made Mike a junkie. Oak dies in Tellis' arms, leaving the confession on tape. The dealers are arrested and Tellis has minutes to decide whether or not to hand the tape to the police.
who refuses to put his gun down?
Oak