Jack and his lover, Ingrid, are relaxing in Sweden. As they walk in the wilderness outside their cabin, Jack becomes alarmed by a trail of footprints in the snow and pulls Ingrid towards shelter. Sniper gunshots ring out. Ingrid sees Jack pull a gun from his pocket and shoot the sniper. With little hesitation, Jack also kills Ingrid before locating and killing another armed man. He flees to Rome and contacts a man named Pavel, who insists that Jack cannot stay in Rome. Pavel sends him to Castelvecchio, a small town in the mountains of Abruzzo. Jack becomes nervous, and disposing of the cell phone that Pavel gave him, goes to nearby Castel del Monte instead, where he now uses the name Edward.
While in Abruzzo, Jack contacts Pavel, who sets him up with a job. He meets a woman named Mathilde, who wants him to build her a custom sniper rifle. A local priest named Father Benedetto takes notice of Jack, and befriends him. Jack also begins patronizing a local prostitute named Clara, and they begin a relationship.
In the meantime, Jack suspects that he's being followed by a man, but he still meets with Mathilde in a secluded area next to a river to test the weapon. She is impressed by the craftsmanship, but asks Jack to make a few more adjustments to the rifle, and to provide her with specific types of ammunition before they complete their transaction.
Later, the man who has been following Jack attempts to assassinate him, but Jack kills him after a chase through town. The next day the priest asks Jack if he has anything to confess. Jack has been tormented by dreams of the events in Sweden and regrets killing Ingrid, but shares nothing with the priest. When Father Benedetto tells Jack that he senses he lives in a special kind of hell, "a place without love", Jack starts to let himself feel love for Clara and envisions a life with her.
Jack calls Pavel to ask how the Swedes found him, and Pavel tells Jack that he's losing his edge. In his growing fear, he even suspects Clara when he discovers a small pistol in her purse. Jack takes Clara on a picnic to the same secluded river where he tested the rifle with Mathilde, and prepares to kill Clara. But when she doesn't try to kill him, Jack begins to trust Clara and agrees to meet with her later back in town.
Finally, Jack agrees to deliver the completed weapon and ammunition to Mathilde as his last job, but at the last moment, he re-opens the briefcase holding it. During the drop-off with Mathilde, Jack becomes suspicious that she plans to kill him. But before anything can happen, a bus load of school children arrives. Mathilde gives Jack his payment—a thick envelope full of cash, and the two separate. As Mathilde drives away, Pavel contacts her and asks if she has killed Jack. She tells him she has not, but says she is following him.
Clara then meets Jack at a religious procession in town. Jack asks her to go away with him and she agrees. While they embrace, Mathilde attempts to shoot Jack from a nearby rooftop with the rifle that Jack built. But the rifle backfires in her face, confirming Jack's suspicion and his last-minute decision to sabotage the rifle. Seeing Mathilde fall from the roof, Jack gives Clara the envelope of cash and tells her to wait for him at the river where they had picnicked before. He runs to Mathilde, who is dying on the pavement, and discovers that she also works for Pavel.
As Jack walks away to go meet Clara, he hears someone behind him. Jack turns, and they quickly exchange gunfire. Pavel drops dead, having come to finish Mathilde's failed assassination. As Jack drives to meet Clara at the river, he feels his abdomen and realizes he has been shot. Jack arrives at the picnic spot, and as he sees Clara waiting for him, collapses behind the wheel of his car.