Kráľ Ľudovít XIV. (Pierce Brosnan) v snahe stať sa nesmrteľným zajme morskú pannu a ukradne jej životnú silu. Keď to zistí jeho rebelská dcéra Marie-Joséphe (Kaya Scodelario), rozhodne sa celú situáciu osudovo skomplikovať. Marie-Josephe (Kaya Scodelario), narodená a vychovaná v kláštore vo Francúzsku, je slobodomyseľná rebelka, ktorá často spôsobuje matke predstavenej problémy. Otec Marie-Josephe, kráľ Ľudovít XIV. (Pierce Brosnan), sa po zranení guľkou vraha obáva o vlastnú smrteľnosť, ale doktor Labarthe (Pablo Schreiber) mu povie o kúzelnom podmorskom stvorení - morskej panne, ktorá mu môže zaistiť nesmrteľnosť. Zákrok spočíva v tom, že panne počas zatmenia mesiaca musí vyrezať srdce. Ľudovít vyšle skupinu rybárov vedenú kapitánom Yvesom De La Croixom (Benjamin Walker), aby morskú pannu chytili.