Un petit port au tournant du siècle dernier, niché dans un paysage fluvial romantique avec des bois denses et une grande ruine de château sur une colline. Laurin, une jolie fille de neuf ans, vit avec sa jeune mère Flora, son père Arne et sa grand-mère quelque peu particulière, Olga, dans une modeste maison recouverte de lierre au milieu de la forêt. Le père de Laurin est marin et doit souvent laisser sa famille pendant plus de quelques mois.
Un soir, Flora emmène son mari pour un long chemin jusqu'au port. En revenant à travers la nuit et la tempête, elle meurt dans des circonstances mystérieuses, tombant à travers la rambarde pourrie d'un long pont en bois et se noyant dans l'eau glaciale de la rivière. La mort de Flora semble être un horrible accident, mais sa petite fille sent que quelque chose de maléfique est dissimulé dans la communauté du village.
Deux ans plus tard, le père de Laurin est reparti en mer et la fille reste seule avec sa grand-mère. C'est alors que Van Rees, le fils du pasteur, revient du service militaire et se voit offrir le poste d'instituteur du village. Laurin se sent d'une certaine manière attirée par l'homme aux cheveux noirs avec son regard sombre et mélancolique. Avec curiosité, Laurin observe l'étrange affection de Van Rees pour son ami d'école Stefan, se souvenant que dans la nuit de la mort de sa mère, un garçon gitan a été attaqué par un homme devant sa fenêtre.
Dès lors, Laurin est tourmentée par des rêves et des visions bizarres. Elle réalise peu à peu que Flora et le garçon gitan sont tombés victimes d'un meurtrier qui hante la ruine du château en compagnie d'un chien noir et loup. Puis Stefan disparaît soudainement. Laurin explore la ruine du château et découvre une trappe menant à une cave. Là, elle rencontre cauchemar et terreur.