In 1944, na de zege van Franco, verhuizen de twaalfjarige Ofelia en haar zwangere moeder naar een landelijk gebied in Noord-Spanje. Ze gaan bij Ofelia's strenge en keiharde stiefvader Kapitein Vidal wonen. Met zijn leger vecht de meedogenloze Vidal tegen de rebellen die in de bossen leven. Op een nacht ontmoet Ofelia een mysterieuze faun. Deze vertelt haar dat ze eigenlijk een prinses is en dat ze zich kan bewijzen als ze drie belangrijke opdrachten uitvoert.