Vice police detectives Frank Divinci (James Belushi) and 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 does not help that Rodriguez has outstanding gambling debts, and that a loan shark known only as "Mr. Cutlass Supreme" (Tiny Lister) is on his case for it. 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 can not 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 willing to accept a plea bargain. Meanwhile, it turns out that the Magnum that Rodruiguez stole from the police-evidence room to kill Hudd is that of Clyde David Dunner, a murderer and arsonist arrested by Divinci and Rodruiguez 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 attend and help the poor. Baylor asks the court to grant a one-week continuance so he can prepare his defense properly. 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. He plans to kill her before she can testify.
On their way to "silence" her, Rodriguez tells Divinci how he feels regarding the numerous murders they have committed. Divinci suddenly suspects his partner of taping their conversation; such indeed turns out to be the case, after Divinci forcibly searches Rodriguez. Rodriguez informs Divinci that he has already confessed to the DEA regarding what they have done. Unwilling to kill Rodriguez here and now, Divinci renounces their friendship and drives off into the night. Rodriguez returns home to find his bookie and Mr. Cutlass Supreme waiting for him. Enraged about the preceding events, he attacks them only to be shot dead. Cynthia is brought to court by Baylor, who strikes a deal with her to testify against Divinci and thus get her perjury case dropped.
Four months later, Frank has become a fugitive. Knowing that Cynthia blew the whistle on him, he breaks into her home. He takes her money, then shoots and badly wounds her. Cynthia is rushed to an emergency room at the local hospital, where Doctor William Dane McCall prepares to operate to save her life.
Divinci forces Manny to help smuggle him out of the country. Manny hires a luxurious car and a driver for Frank. Unfortunately for Divinci, said driver turns out to be Clyde David Dunner...who produces the same revolver used to kill Hudd. He shoots Frank in the head, then abandons the car and body in a deserted alley.
Output: How come the case against Dunner is dropped?