In 1962, aboard the ocean liner SS Antonia Graza, passengers dance to the song "Senza Fine" sung by Francesca, a lounge singer. A young girl, Katie, sits alone until the ship's captain offers to dance with her. A hand lifts a lever that unravels a thin wire cord from a spool. The spool snaps and the wire whips across the dance floor, bisecting the passengers and crew. Katie, shorter than the adults, is spared due to the wire passing over her head.
Forty years later, a salvage crew — Captain Sean Murphy, Maureen Epps, Greer, Dodge, Munder, and Santos — celebrate their recent success. Jack Ferriman, a weather service pilot, approaches them saying he spotted a vessel adrift in the Bering Sea. Because the ship is in international waters, it can be claimed by whoever brings it to port. The crew sets out on the Arctic Warrior, an ocean salvage tugboat. The ship is the Antonia Graza, which went missing decades ago. After boarding the abandoned liner, the salvagers discover nine wooden boxes, each containing twenty-eight 100-oz gold bars.
After a series of supernatural events, the group decides to abandon the salvage effort and retreat with the gold, but an invisible force sabotages the Arctic Warrior. The tugboat explodes, killing Santos.
With no other option, the group begins repairing the Graza. Greer encounters Francesca, who seduces him into betraying his fiancée, then leads him to fall down an elevator shaft, killing him. Murphy enters the captain's cabin and finds his ghost. The captain explains that they recovered the gold from a sinking cruise ship, the Lorelei, along with a sole survivor. Murphy is shown a picture of the survivor, whom he recognizes. He rushes to tell the others, but hallucinates and sees everyone as the ghost of the burned Santos, who provokes him into a murderous rage. The others think Murphy has gone mad and lock him in the drained fish tank; Epps later finds him drowned.
Epps meets Katie's ghost, who reveals what happened on the Graza. The sole survivor of the Lorelei convinced many of the Graza's crew to murder the passengers, as well as the remaining crew, for the gold. After murdering the passengers through mass poisoning, shooting, and other methods, the crew turned on each other. Francesca killed the officer who survived. The mastermind behind the massacre killed Francesca by releasing a hook which slashes into her neck and hooks her. He then branded her palm with a hook-shaped symbol using only his hands. The man is revealed as Jack Ferriman, who is the demonic spirit of a deceased sinner tasked with provoking people to sin, then killing them and bringing their souls to Hell. Epps deduces that Ferriman lured the salvage team to the Graza to repair it, and decides to sink it to thwart his plan. Munder is crushed to death under the ship's gears while scuba diving in the flooded engine room. Epps tells Dodge to keep Jack on the ship's bridge while she sets explosives. Ferriman taunts Dodge, mocking him as a coward for never acting on his feelings for Epps, then charges him. Dodge shoots Ferriman with a shotgun and believes Ferriman to be dead.
It is at this point that Santos is revealed to have survived the earlier explosion. A horrifically disfigured Santos appears to Epps, although she is at first unsure as to whether or not she is imagining his presence. Santos warns Epps that Dodge is not to be trusted before dying of his wounds.
Epps is setting explosives when she is confronted by Dodge. He tells her he killed Ferriman and that they can salvage the gold to start a life together, but Epps asks why Dodge has not asked her where Munder is. Realizing his ruse failed, "Dodge" morphs into Ferriman, who killed Dodge. Ferriman plans to use the Graza as a trap to continue collecting souls. As long as the Graza is kept afloat, the souls of everyone who died aboard the ship will be dragged down when Ferriman fills his quota and returns to Hell. He offers to spare Epps's life in exchange for her not interfering, but she detonates the explosives. Ferriman is blown to pieces in the explosion and Katie helps Epps escape the sinking ship. Katie and the other souls trapped on the ship are freed.
Epps is found by a cruise ship and returned to land. As she is loaded into an ambulance, she sees the crates of gold being loaded onto the cruise ship by members of the crew, overseen by a resurrected Ferriman, who glares at her and carries on; she screams as the ambulance doors close.
Gabriel Byrne as Sean Murphy
Julianna Margulies as Maureen Epps
Ron Eldard as Dodge
Desmond Harrington as Jack Ferriman
Isaiah Washington as Greer
Alex Dimitriades as Santos
Karl Urban as Munder
Emily Browning as Katie Harwood
Francesca Rettondini as Francesca
Boris Brkic as Chief Steward
Bob Ruggiero as Captain Antonio Graza
Iain Gardiner as Purser