Ofelia (Ivana Baquero), a litle girl caught up in the aftermath of the Spanish Civil War, seeks escape from the fear and dreariness of her life -- and is drawn into in a fantasy world as dangerous as the real one she wants to leave behind. Ofelia's father is dead, and her mother, Carmen (Ariadna Gil) has married Captain Vidal (Sergei López), a tyrannical man who rules his remote outpost and his new family with a brutal iron fist. Carmen is pregnant with Vidal's child, and his sole concern is that the baby be delivered safely. Ofelia and Carmen are, to him, mere inconveniences to put up with along the path to him having a son.