L'action se déroule dans la ville isolée d'Aljezur, sur la côte de l'Algarve, durant la Seconde Guerre mondiale. Déterminée à prouver son innocence, Celeste, une jeune orpheline accusée d'avoir conjuré le diable, traque la sorcière qui hante sa communauté, pour révéler le véritable mal qui se cache derrière la présence nazie croissante dans le sud du Portugal.