Two bookies are separately ambushed and murdered by their unseen killers; elsewhere, a young man is killed by a sniper. In a bus terminal, a young man is approached by Goodkat, who tells the story of Max and the Kansas City Shuffle: two decades earlier, Max borrowed money from the mob to bet on a fixed horse race, only for the horse to die mid-race. To set an example to make sure nobody else would try to bet on a fixed race, the mob killed Max, his wife and young son Henry. Goodkat describes the “Kansas City Shuffle”, a misleading double bluff, then tricks and kills the young man, taking the body in a truck.
In New York City, Slevin Kelevra is staying in his friend Nick Fisher’s apartment and, upon being visited by Nick’s neighbor Lindsey, discusses Nick’s disappearance and why his apartment was unlocked. Lindsey suggests that Nick may be missing and, after she leaves, Slevin is kidnapped by two henchmen, who take him to “The Boss”. Mistaking Slevin for Nick, The Boss orders him to repay a large gambling debt or kill the son of his rival, “The Rabbi”; The Boss believes The Rabbi is responsible for assassinating his son (seen in the intro), and wants The Rabbi’s homosexual son, Yitzchok “The Fairy”, to be killed in revenge. Slevin returns to the apartment, but is kidnapped again, this time by two of The Rabbi’s Jewish henchmen. Like the Boss, The Rabbi also mistakes Slevin for Nick, and also demands he repay a large gambling debt. Slevin tells The Boss he will kill The Fairy. Concurrently with Slevin visiting the mob bosses, it becomes apparent Goodkat is somehow involved in both sides and is responsible for Nick’s debts being called in, and that he plans to kill Slevin after The Fairy dies and make it look like they both committed suicide.
Slevin and Lindsey go out to dinner, where Slevin arranges a date with The Fairy. Slevin is approached by Detective Brikowski, who is investigating The Boss and The Rabbi. Birkowski, who used to bet big with one of the murdered bookies, has also been informed that Goodkat is back in town for the first time in twenty years and think there’s a connection between The Boss, The Rabbi, Goodkat, and Slevin. The detective hassles him again later and Slevin reveals his full name. Slevin arrives for his date at The Fairy’s apartment and fatally shoots him, only for Goodkat to appear. Rather than shoot Slevin, however, Goodkat finishes The Fairy, revealing Slevin and Goodkat are working together. Slevin then brings the bus terminal victim’s body, revealed to be Nick Fisher, into the apartment while Goodkat kills The Fairy’s bodyguards. Together, they blow up the apartment and the bodies, faking Slevin’s death in the process. Goodkat and Slevin kidnap The Boss and The Rabbi, with both awakening restrained in The Boss’s penthouse. Slevin appears and explains the overarching twist: Slevin is Henry, the son of the ill-fated Max, and the mobsters who killed Max were The Boss and The Rabbi. Goodkat is revealed as the assassin hired to kill young Henry, who after an attack of conscience took him in and raised him instead.
Slevin reveals after twenty years later, he and Goodkat killed the mobsters’ bookies and stole the ledgers in the process. After identifying Nick as owing a great deal of money to both sides, they killed him and stole his identity. Then Slevin murdered The Boss’s son in order to get The Boss to contract Goodkat to murder The Rabbi’s son in revenge. Goodkat took the contract to kill The Fairy from The Boss and convinced The Rabbi he’d protect The Fairy on the condition they both call in Nick’s debts, granting Slevin and Goodkat unhindered access to the heavily guarded mobsters as their ally, under his Nick Fisher alias. After revealing his identity, Slevin suffocates The Rabbi and The Boss by taping plastic bags over their heads, killing them the same way they killed his father. Since Lindsey earlier photographed Goodkat while investigating Nick’s disappearance, Goodkat shoots her to protect his identity.
While Burkowski is hunting for Slevin he gets a phone call from his boss and learns the meaning of the pseudonym Slevin Kelevra: “Lucky Number Slevin” was the horse his father had bet on, and “Kelevra” is Hebrew for bad dog, mirroring Goodkat’s name. It is revealed that Brikowski murdered Slevin’s mother to pay his own gambling debts twenty years ago. As he hears this story Burkowski resigns himself to his fate as Slevin, showing real anger for the first time, appears in Burkowski’s backseat and shoots him finishing his masterpiece of revenge.
Sometime later at the bus terminal Slevin is met by Lindsey, and it is revealed that Goodkat’s informed Slevin he had to murder Lindsey because she had a picture of him. It’s also revealed around the same time that Slevin explained his true identity to Lindsey and helped fake her death. When Goodkat appears, aware of the trickery, Slevin explains he had to save Lindsey and didn’t think Goodkat would understand. Since Goodkat had saved Slevin as a boy he states he understood and agrees to leave Lindsey alone. Goodkat gives Slevin back his father’s old watch and then disappears into the crowd. Flash back twenty years to when Goodkat first spared young Henry, they drive away and Goodkat turns on the radio to a song titled “Kansas City Shuffle”.