A historia está ambientada en 1851 nunha aldea galega no medio do bosque, onde viven Bárbara (Elsa Pataky) e a súa irmá Josefa. Non se atreven a saír da casa por mor dos asasinatos masivos que teñen lugar na zona, debido aos cales se expande a lenda da existencia dun home lobo.
Un día chega á zona un vendedor ambulante chamado Manuel Romasanta (Julian Sands), amante de Josefa, do que Bárbara está namorada en segredo. Romasanta acompaña a Josefa á cidade, pero esta nunca chega ao seu destino.
Romasanta é capturado como o temido home lobo. Alega na súa defensa que é vítima dunha maldición. A sociedade divídese: os aldeáns esixen que se castigue a Romasanta, mentres os burgueses, cun reputado antropólogo á fronte, xustifican os seus actos ao considerar que padece a licantropía en forma de enfermidade mental.