10-aastane Ofelia, kes elab koos oma türannist kasuisa ja raseda emaga uues kodus, tunneb end üksi, kuni ta avastab laguneva labürindi, mida valvab salapärane faun, kes väidab, et teab tema saatust. Kui ta soovib naasta oma pärisisa juurde, peab Ofelia täitma kolm hirmuäratavat ülesannet.
Tegevus leiab aset aastas 1863. On toimumas New Yorgi ajaloo suurim tänavasõda. Kohalik William Cutting ehk Lihuniku-Bill (Daniel Day-Lewis) üritab kogu linna oma võimu alla saada, aga teda takistab ainult Iiri päritolu preester (Liam Neeson). Verises võitluses saab Preester surma Lihuniku-Bill käe läbi, mida näeb pealt ta poeg Amsterdam Vallon (Leonardo DiCaprio) ja vannub kättemaksu. Olles aastate pikkusest vangistusest pääsenud, saabub ta tagasi oma kodukanti ja haub verist kättemaksu.