Historia filmu osadzona jest w roku 1944. Ofelia (
Ivana Baquero) wraz z mamą Carmen (Ariadna Gil) przybywają do nowego domu, gdzie mieszka nowy mąż Carmen - kapitan Vidal (
Sergi López). Dziewczynce trudno znieść swojego nowego ojca. W związku z tym wymyśla swój własny wyimaginowany świat, w którym spotyka w ruinach labiryntu Fauna. Ten mówi jej, że jest księżniczką i musi wykonać trzy zadania.