Fairy Tale Escape from Civil war

Rating: 10/10 (25 November 2006)

In 1944 the fascist Captain Vidal (Sergi Lopez) is fighting a ruthless action against the remnants opposing Franco holed up in the mountains of Northern Spain. He is impatient for his pregnant wife Carmen (Ariadna Gil) to arrive; he wants his son to be born at his side despite the danger to Carmen's health. Carmen arrives with her daughter Ofelia (Ivana Baquero) whose escape from the barbarous civil war relies on losing herself in fairy tale books. Ofelia does not accept Captain Vidal as her stepfather; in true fairy tale fashion she is the daughter of a tailor - the Captain's ex-tailor.
Vidal rapidly exhibits his psychopathic nature. Poachers found in the woods near his headquarters are brutally beaten and killed out of hand. He mercilessly tortures any suspects who have the misfortune to be caught alive. As the horror of the civil war takes its toll on the young Ofelia's mind; she falls under the spell of a Faun in an ancient labyrinth. He convinces her she is the lost princess of the underworld. She must perform three acts of bravery to open a portal to the underworld and regain her rightful place next to her father the king.
Ofelia's only contact with reality and kindness is the housekeeper Mercedes (Maribel Verdu). She secretly supports her brother fighting in the mountains. Captain Vidal discovers Mercedes is a traitor but before he can torture her into a confession she escapes by slicing his face with a kitchen knife. Ofelia takes advice from the Faun on how to prevent her mother dying  the Captain discovers her with a baby like mandrake root under her mother's bed. He's furious and throws the root onto the fire causing Carmen to die in childbirth but his son survives. Ofelia fails the second test and can only make amends by taking the child to the Faun as a blood sacrifice. Captain Vidal gives chase and takes his revenge on Ofelia. Too late, Mercedes arrives with her brother  by this time Ofelia has entered the underworld.