Vice police detectives Franklin “Frank” Divinci (James Belushi) and Jacob “Jake” Rodriguez (Tupac Shakur) gun down narcotics dealer Lionel Hudd (Kool Moe Dee), after the two engage illegally in drug trafficking; this is in order to recover the cocaine Hudd purchased from them. When Divinci and Rodriguez find out Hudd was actually a “deep cover” DEA agent—because Hudd’s partner, Richard Simms (Gary Cole) drops by their precinct for help sniffing out the killers—they try to frame anyone else with the murder. It also does not help that Rodriguez has outstanding gambling debts, and that a loan shark and his “enforcer”, known as Mr. Cutlass Supreme (Tiny Lister) is demanding his repayment. After arresting numerous felons without success (because they cannot possibly link Hudd’s murder to any of them), Divinci and Rodriguez arrest a homeless drunk by the name of Joe Doe (Dennis Quaid). While Joe is still intoxicated, the detectives convince him that he shot Hudd. They even make him sign a confession. Divinci and Rodriguez convince local stripper Cynthia Webb (Lela Rochon), also Divinci’s mistress, who was the “bait” in their trap for Hudd, to “identify” Joe in a police line-up.
At his first legal hearing, Joe is declared mentally unfit to stand trial (he cannot even remember his own last name). The trial is postponed accordingly. Really believing that he killed Hudd, Joe informs his attorney that he deserves to be in jail and is not willing to accept a plea bargain. Meanwhile, it turns out that the .44 Magnum that Divinci stole from the police-evidence room to kill Hudd is that of Clyde David Dunner, a murderer and arsonist arrested by Divinci and Rodriguez and whose case is currently being tried. To fill the void, Divinci gets another gun to replace the other, but during trial Dunner recognizes that this one is not his gun and the case is dropped for lack of evidence.
At Joe’s second hearing, high-profile lawyer Arthur Baylor (James Earl Jones) attends the proceedings. Baylor reveals that his client’s name is actually William Dane McCall, and that he is actually the missing-and-presumed-dead co-heir to the financial empire of a high-status family, as well as a surgeon who used to perform organ transplants for the poor in Africa. Baylor asks the court to grant a one-week continuance so he can prepare his defense properly and the court agrees. Afterwards, Cynthia is summoned to testify in court. Nervous and afraid, she disappears. Divinci, fearing that she may betray him, hires a bail agent named Manny (Terrence C. Carson) to locate her; when Manny’s efforts fail, he is roughed up by Divinci and Rodriguez. Cynthia is finally discovered and brought in for The People vs. William Dane McCall. She gives her rehearsed testimony against “Joe”, at which time William informs Baylor that he lived in an alley next to Cynthia’s apartment. Baylor questions Cynthia and points to the contradictions in her testimony until she finally confesses to knowing “Joe”. The fact that she knows the defendant as “Joe” and not as “William Dane McCall” shows that she had previous knowledge of the defendant, thus proving her testimony for “Joe” being Hudd’s killer to be false. She is arrested for perjury while the verdict of William’s case remains pending. Divinci hires Manny to get Cynthia out of jail, planning to kill her before she can testify.
On their way to “take her out”, Rodriguez yet again complains and opens up to Divinci about how he feels about the murders they have committed. All the while Det. Rodriguez makes sure to imply “you” instead of “us”. Divinci drives to an alley to discuss further plans, to which Rodriguez tells Frank about his $27,000.00 debt and possibly fleeing the country. Immediately Divinci suspects his partner is wearing a wire and holds Rodriguez at gun point demanding him to take off his shirt. Rodriguez refuses and minutes later Divinci forcibly searches him after attacking him, suspecting that he is up to something. Rodriguez informs Divinci that he has already confessed to the DEA regarding what they have done and tells him to go ahead and pull the trigger on the gun he has pressed to his temple. Instead, Divinci orders him out of the car and Rodriguez begins his heavy hearted walk home alone.
Rodriguez returns home with his wire showing and in frustration starts to tear up the place before seeing his bookie and Mr. Cutlass Supreme waiting for him. Overwhelmed by his circumstances he attacks them, driving them back into the next room. Two shots ring out and the next scene finds the police investigating his murder, Divinci being the main suspect. Cynthia is found at Manny’s and taken in to Simms, the prosecutor. She claims she doesn’t know anything, enraging the police who brought her in. The prosecutor tells them to get the recovered wire recordings to Baylor, but to insure that they don’t appear to come from them. After hearing the tape where Divinci tells Rodriquez he plans to kill her, she agrees to tell the truth. But when Baylor informs Simms that Cynthia wants blanket immunity, he balks since she committed perjury. Baylor then reminds him that he has no case and that the main objective is to capture Divinci.
Four months later, Frank has become a fugitive and Cynthia is back to dancing. Knowing that Cynthia blew the whistle on him a bedraggled Frank breaks into her home and waits. Before taking her money, he berates her for turning on him. When she had had enough and attempts to leave, he throws her on her bed, grabs a pillow and shoots her. Having been shot in the shoulder and not the head as Frank thought, she is able to call for help and is rushed to an emergency room. One of the ER docs present is Doctor McCall (Joe Doe) and it is assumed that he will operate on her.
Divinci forces Manny to help get him out of town that night. Manny reminds him that he is a wanted man and that it’s incredibly short notice, so it will be expensive. Divinci states that money isn’t an issue. Manny is able to quickly hire a driver with a towncar for Frank. After threatening that it better not be a setup, he tells Manny to walk him to the car. Before entering the car, he reminds Manny that he never saw him before paying his large fee. Glad to be rid of his biggest headache, Manny goes back inside. Divinci sits back in the limousine thinking he is finally free, barking directions at the driver. In the middle of Divinci saying his well known phrase, the driver (who turns out to be Dunner), turns and shoots him in the face before abandoning the car in a deserted alley.