After being paroled from Sing Sing, Bumpy Johnson (Laurence Fishburne) returns to Harlem to resume his old life. He is welcomed back by his cousin, Illinois Gordon (Chi McBride) as well as Stephanie "Madame Queen" St. Clair (Cicely Tyson), the monarch reigning over the numbers racket in Harlem. The psychopathic Dutch Schultz (Tim Roth), a Mafia associate who reports to mob boss Charles "Lucky" Luciano (Andy Garcia) runs the numbers rackets in downtown New York. His gang has been crowding into Harlem, terrorizing residents to only play the numbers with his operation.
While hanging on the stoop one afternoon with Illinois and his girlfriend Mary, Bumpy meets one of Mary's friends, Francine (Vanessa Williams). She and Illinois talk trash to each other, with her disapproving of the 'numbers' rackets Illinois is involved in and him defending it as the only way to make ends meet in the Depression. Bumpy introduces himself to her and is obviously interested. They meet again in a nightclub and dance together. Bumpy walks Francine home and they debate the effect of gambling in Harlem on its citizens. At her door, she says that he could do anything he wanted. He responds that he has written some poetry and then recites a poem to her, about her beautiful eyes.
Dutch Schultz asks to partner with the Queen, who declines the offer, as she disapproves of the violent tactics Schultz uses to terrorize her customers. Later a hit is ordered by Dutch on the Queen; however Whispers (Paul Benjamin) and Bumpy repel the attackers. Using his friendship with corrupt Captain Foley (Richard Bradford), of the New York City Police Department, Schultz arranges for the Queen to be arrested, and the Queen asks Johnson to take charge of the business during her incarceration. The Queen instructs Johnson to avoid bloodshed, but Schultz's men grow increasingly violent.
Bumpy and Dutch start a devastating war with each other. In one of Dutch's attempts on Bumpy's life, Dutch employs two big hit men. They break into Bumpy's home, killing two of his bodyguards and making their way up to the bedroom, where Bumpy and Francine are. They attack Bumpy and Francine in the bathroom. One of them is killed and the scene culminates in Francine having to shoot the other just as he is about to kill Bumpy. They hold each other on the floor of the bathroom, covered in blood. More and more people are killed, including the sixteen-year-old Tyrone, who begged Bumpy to let him become a numbers runner for him.
One afternoon, Bumpy and Francine are having a banana split in his favorite ice cream parlor. Bumpy notices in the nick of time that the split has almonds on it, which he never orders. Francine is already to dig in when Bumpy stops her. Suddenly, the tension mounts, Bumpy's men rush all the regular citizens out of the parlor and pull down the shades. After questioning the terrified owner, Bumpy finds out that it was the new boy, Jimmie, who made the split, which has been poisoned. Bumpy invites him over to the table where he asks him to eat the split. The kid makes all kinds of excuses and is also terrified. After more threatening, he confesses it was one of Bumpy's closest men, Vallie, who set Bumpy up. Bumpy sends Francine out of the parlor and forces the kid to eat the poisoned ice cream. Bumpy, Illinois, Whispers and two other of his men take Vallie to a private pool hall and question Vallie about the set-up. Vallie weeps, confessing it was all for the money and begs for his life. Bumpy notices a nice ring on Vallie's finger and asks him if he bought it with the money, which Vallie vehemently denies. Eventually, everyone walks out except Whispers, who cuts Vallie's throat with a straight razor.
Bumpy and his gang show up at the Cotton Club in downtown New York. This is in Dutch's territory and does not allow black people in except as entertainers. Dutch is holding court. The place goes silent as Bumpy tells Dutch that he knows all about his operation and if Dutch doesn't shut it down, Bumpy will do it for him. Dutch mentions Vallie and Bumpy replies that Vallie won't be able to comment anymore but left a souvenir for Dutch. He puts a handkerchief on the table that contains a bloody finger, with a fancy ring on it. It nearly comes to a shoot-out, with cooler heads holding Dutch. Bumpy and his gang leave. When Dutch continues terrorizing uptown Harlem, Bumpy engages an explosives expert to rig a bomb. He and Illinois manage to infiltrate one of Dutch's liquor warehouses as delivery boys and just manage to get away before the whole building explodes.
In the meantime, Dutch and his men have broken into Mary's house (Illinois' girlfriend). Dutch hits and threatens her, asking her where Illinois is. One of his right hand men, Bub (Clarence Williams III) says she doesn't know anything and he doesn't have to do this. Dutch tells him to toughen up. After blowing up the warehouse, Illinois makes his way back to Mary's to find her dead.
Bumpy arrives home where Francine tells him that she is leaving him. He is enraged and starts throwing the fancy dresses and jewels that he bought at her. She yells that she didn't want any of them and that she doesn't know him anymore, that he is no longer the good man with whom she had fallen in love.
Devastated by Mary's death, Illinois gets drunk and tells Bumpy that he's changed, that he is as bad as Dutch now. They have it out; Illinois says he's finished with Bumpy and staggers out. As he's walking down the street, Captain Foley and Bub Hewlett (Clarence Williams III) see him, kidnap him and chain him up in a machinery room. Foley beats him and wants to torture him for information. Hewlett says Illinois isn't going to talk and wants him let go. He leaves but Foley kills him using a corkscrew. Eager to end the war between each faction, Luciano decides to try and make the Schultz and Johnson come to an agreement, although neither wants to compromise.
Later that evening, word comes to the Johnson house that Illinois has been found murdered. Johnson and his gang go to the warehouse where Illinois was killed and find him hanging by a chain on the outside wall, one of the 'numbers' tickets in his mouth and a suitcase with "No More Secrets" written across it attached to him. A local witness tells them that he saw a man with Captain's bars with Illinois shortly before his murder. Bumpy immediately knows who it is and gets his revenge on Foley by cutting his throat after finding him in a room with a prostitute. As Bumpy is leaving, he sees Bub Hewlett and asks if he had a hand in Illinois's murder. He denies any involvement so Bumpy spares him and tells him that he now owes him.
Bumpy has a meeting with Bub and tells him that it's not in his best interest to continue working for Dutch. Bumpy later contacts Luciano and tells him that he wants to compromise. Luciano agrees to the terms and they devise a plan to kill Dutch. Cecil, Luciano's driver, appears to betray Luciano and Bumpy by telling Dutch what they are planning. Cecil, however, is being paid by Bumpy to do so. Believing he now has the upper hand, Dutch plans the murder of Luciano and Bumpy but fails to do so. Luciano and Bumpy's plan is revealed when Lulu (Ed O'Ross) (Dutch's right-hand man) follows Dutch into the restroom and shoots him three times. Dutch walks out of the restroom and down the stairs, sits down at a table and drops dead. Lulu walks outside, gets in Luciano's car and asks to be paid but instead, an associate of Luciano's shoots him dead and dumps his body on the sidewalk.
The last scene shows Bumpy asking Bub if those involved have been paid, with Bub saying yes. With the Queen back in business, Johnson tells Bub that he has some unfinished business and Bub says he's going to go get some sleep. The two shake hands and part company. Bumpy then walks across the street and enters the church to briefly pay his final respects to Illinois. The gospel choir sings "Amazing Grace" while he walks down the aisle, exchanging looks with Francine and Madame Queen. When he arrives at the coffin, he goes down on his knees with tears in his eyes, then turns and walks out. He takes off his hat and turns his face up to the pouring rain, letting it run down his face.Laurence Fishburne as Ellsworth "Bumpy" Johnson
Tim Roth as Dutch Schultz
Vanessa Williams as Francine Hughes
Andy García as Charles "Lucky" Luciano
Cicely Tyson as Stephanie St. Clair/Madam Queen
Chi McBride as Illinois Gordon
Clarence Williams III as Bub Hewlett
Richard Bradford as Captain Foley
William Atherton as Thomas E. Dewey
Loretta Devine as Pigfoot Mary
Queen Latifah as Sulie
Ed O'Ross as Lulu Rosenkrantz
Mike Starr as Albert Salke
Beau Starr as Jules Salke
Paul Benjamin as Whispers
Tony Rich as Duke Ellington
A soundtrack containing hip hop and R&B music was released on August 12, 1997 by Interscope Records. It peaked at #94 on the Billboard 200 and #23 on the Top R&B/Hip-Hop Albums.
The film received mixed reviews from critics. Review aggregation website Rotten Tomatoes gives the film a score of 45% based on 20 reviews.
Critic Roger Ebert noted that "the film is being marketed as a violent action picture, and in a sense, it is" and that director Bill Duke having made "a historical drama as much as a thriller, and his characters reflect a time when Harlem seemed poised on the brink of better things, and the despair of the postwar years was not easily seen on its prosperous streets."