Del Toros' script is tightly plotted and grimly satisfying, at least in terms of fairy tale logic, with one plot hole I will discuss behind the cut.
In Spanish, with English subtitles. Highly reccommended for the stong of spirit.
I have one arguement with a major plot event: when Vidal works out that Mercedes is helping the anti-Facist guerillas, he drags her to the stable for a torture session. She frees herself with the kitchen knife she always carries on her person, and turns the knife on Vidal, disabling him long enough for her to get out of the barn and start her escape. While Mercedes has Vidal at her mercy, she SAYS that she has the will to kill him, but she does not, and flees knowing he is conscious, allowing him to raise the alarm, which results in many more deaths than might have been strictly speaking necessary. Why? I understand for plot purposes we need Vidal alive, but why couldn't she have temporarily knocked him out and fled assuming he'd have been out long enough for her to get away? She could still have delivered her sollioquy and added her insulting injury to Vidal's face, and he could still have surprised her by coming to in time to rouse pursuit. Given how ruthless and dangerous Mercedes knows Vidal to be, her action is illogical unless we accept that she truly did not have the courage to kill him outright. That Vidal has a pyschopathic level of will power is reaffirmed in this scene and the one following wherein he sews up his own slashed face. However, some writers have proposed that Mercedes' decison to spare Vidal's life foreshadows the moral decision that Ofelia is faced with in the films' climax.