Spanyolország, 1944. A polgárháború véget ért, de a hegyekben még harcolnak a gerillák. Carmen (Ariadna Gil) kislányával, Oféliával (Ivana Baquero) új férjéhez, a hideg, kegyetlen és autoriter Vidal (Sergi López) kapitányhoz költözik, aki Franco seregében szolgál. Ofélia nem szenvedheti az új életét, így a ház mögött felfedezett rejtélyes labirintusba menekül. Pán – védelmezője és vezetője – egy mesebeli figura meggyőzi, hogy a kislány egy mágikus királyság rég elveszett hercegnője. Hogy az elveszett igazságot megtalálja, Oféliának három próbát kell kiállnia, olyanokat, melyekre senki nem készítette fel.