Full story
Frank Castle, a former Marine who lost his family to the mob, spends his nights as the Punisher, hunting criminals in New York. The movie opens with him crashing crime boss Gaitano Cesare's dinner and killing almost everyone at the table. One who gets away is Billy Russoti, Cesare's vain right-hand man, who runs to a recycling plant.
Castle follows. In the firefight, he throws Russoti into a glass-crushing machine. Billy survives with his face shredded. Doctors stitch up what they can, and he embraces his new look: he renames himself Jigsaw, after the scars that look like puzzle pieces. That same night, Castle kills a man who seemed to be part of the crew and later learns he was Nicky Donatelli, an undercover FBI agent.
The guilt hits hard. Castle brings money to the widow, Angela, and her young daughter, Grace, but gets turned away. He thinks about quitting. Micro, the friend who handles his weapons, talks him into staying in, because Jigsaw will surely go after the Donatelli family. On the other side, Agent Paul Budiansky, Nicky's former partner, comes to New York to bring the Punisher in and joins Detective Martin Soap's task force. Jigsaw breaks his brother, Loony Bin Jim, a cannibal psychopath, out of the asylum.
The brothers storm Angela's house and take the family hostage. Castle gets arrested on the way, but Soap lets him go, and he kills the henchmen and gets mother and daughter out. Budiansky arrests Jigsaw and Jim, but they bargain their way out with information about a bioweapons dealer. Once free, they kidnap Micro, kill his mother and wound Carlos, the man guarding the Donatellis. Grace ends up in their hands too.
Jigsaw gathers every gang that hates the Punisher at the abandoned Bradstreet Hotel. Castle goes in with help from Budiansky and Eastern European mobsters who want payback against Jigsaw, and fights floor by floor. In the end, Jigsaw forces Castle to choose between killing Micro or Grace. Micro offers himself. Castle shoots Jim, Jigsaw kills Micro, and Castle impales Jigsaw on a metal rod and throws him into the fire. Outside, Angela forgives Castle. Soap suggests he has already killed every criminal in town. A mugger shows up right then, and Castle shoots him. Nothing has changed.

