In the 1960s, Richard Kuklinski (Michael Shannon) marries Deborah (Winona Ryder) and the couple have two daughters. Kuklinski keeps secrets from his family. He works dubbing pornographic films, which he then supplies to a mob operated syndicate, but he tells his family that he dubs Disney cartoons. Kuklinski is also deeply troubled. As a boy he was the subject of brutal beatings from his immigrant Polish father, shaping Kuklinski into an emotionally disturbed and intensely violent man. A man insults him after a game of pool so Kuklinski follows the man to his car and murders him by quickly slashing his throat.
Another secret Kuklinski keeps is that his younger brother Joseph (Stephen Dorff) is serving a life sentence for raping and murdering a twelve-year-old girl. Roy DeMeo (Ray Liotta), a powerful mobster, shuts down the pornographic film business in which Kuklinski was involved and brings him on board to work as a contract killer after Kuklinski passes an impromptu audition: killing a homeless man with Roy’s gun.
During the killing of Marty Freeman (James Franco) due to his knowledge of Josh Rosenthols’ (David Schwimmer) whereabouts (who had been using DeMeo’s name too freely in his business dealings), Kuklinski meets Robert Pronge (Chris Evans), another hitman for the mob. After DeMeo puts Kuklinski on suspension for allowing a teenage girl to live after witnessing a hit (Kuklinski reveals that he never kills children), he teams up with Pronge, who is a freelancer, and splits the contract payments with him in return for helping him on contract assassinations for DeMeo’s boss Leo Marks (Robert Davi).
During his suspension, Kuklinski begins to show more of his anger and rage, to the extent of destroying his own kitchen while having an argument with Deborah. Kuklinski also shows paranoia when he looks at a moving ice cream truck and instantly thinks of Pronge. While distracted, Kuklinski bumps his car into another vehicle, the man he hit gets out of his car and insults Kuklinski and his family. This causes Kuklinski to enter such a raging fit that he then initiates a high speed chase after the man through three neighborhoods, again putting his family in danger.
DeMeo eventually finds out about all of this unauthorized employment after Kuklinski murders one of his associates on Leo’s orders, and at the same time demands that Kuklinski sever all ties with him. Meanwhile, Kuklinski attempts to collect his $50,000 pay for the hit from Leo, but is denied the payment, prompting him to kill the mobster when he threatens his family.
Kuklinski’s daughter is later seriously injured by a hit-and-run car accident. Kuklinski suspects Pronge and shoots him in a public park.
Following an undercover sting operation, Kuklinski is arrested in the year 1986. Neither his wife nor his daughters have ever suspected him of being a cold-blooded killer. Kuklinski admits to having committed over 100 vicious murders, both for personal reasons and for profit, in his 22-year career. After being sentenced to two life terms in prison he never sees his wife and daughters again. In real life, Barbara (Deborah’s name in real life) and his daughters visited him in the hospital shortly before he died.
As the movie ends, Kuklinski’s only regret is hurting his family through the crimes he committed, and the dangers he put them in. In 2006, he dies in a prison hospital, from a rare inflammatory disease, just before he is to testify against a Gambino crime family underboss.