1965年新西兰,长相平平的女孩海瑟尔•法苏罗(Agnes Bruckner 饰)生长在一个缺少温暖的家庭之中,她因引起森林火灾而被父母送到一所偏远的寄宿学校——费尔伯恩学院就读。这所学校枯燥呆板,院长崔西夫人(Patricia Clarkson 饰)严苛冷酷,同时海瑟尔又和新结识的朋友马茜(Lauren Birkell 饰)经常受到室友萨曼莎(Rachel Nichols 饰)的欺负,这一切的一切,都令海瑟尔想早点逃离这个黑暗之地。 偶然见她发现,身边的同学相继人间蒸发,海瑟尔隐隐感觉到,自己将会是下一个……1965 年,叛逆少年希瑟·法苏洛 (Heather Fasulo) 烧毁了自家院子里的一棵树后,被关系疏远的母亲爱丽丝·法苏洛 (Alice Fasulo) 和疏忽大意的父亲乔·法苏洛 (Joe Fasulo) 送到了位于树林中央的寄宿学校法尔本学院 (Falburn Academy) 。尽管希瑟父亲的经济状况不佳,校长特拉弗斯女士还是接受了希瑟。流离失所的希瑟与玛西·特纳成为亲密朋友,而他们却受到虐待的同学萨曼莎·怀斯的虐待。晚上,希瑟做了一个噩梦,梦见一个名叫安的学生浑身是血,并听到似乎从树林里传来的声音。第二天,马西告诉希瑟,安在试图自杀后被送往精神病院,而且她浑身是血。在玛西的帮助下,希瑟最终学会了适应她的新学校,甚至有时也玩得很开心。特拉弗斯女士对希瑟进行了特殊测试,看看她是否有“天赋”,并告诉她,这都是她向学院提供的奖学金的一部分。女孩们向希瑟讲述了一个关于法尔本历史的怪异故事,其中包括三个年轻的红发姐妹来到学校,结果发现她们是女巫,在离开学校之前杀死了校长。与此同时,萨曼莎继续折磨希瑟,希瑟开始鄙视她并反击。安从精神病院回来,有一天希瑟发现她在床上摇晃。安透露她担心自己会被女巫带走。她说她很冷,于是希瑟爬上一个行李箱,试图关上安床上开着的窗户。一阵低沉的雾气冲进房间,把希瑟撞倒,扭伤了她的脚踝,她被送往医务室。第二天,希瑟发现安的床空了,她的地方堆满了枯叶。她目睹校长就安的失踪向警方撒谎,并说她正在受到照顾。这让她产生了怀疑,并试图与玛西谈论此事。但玛西的行为很奇怪,并受到一位老师的跟踪。不久之后,希瑟发现玛西的床空着,上面铺满了树叶。后来,她在树林里遇到萨曼莎,萨曼莎透露她实际上一直在试图用她的滑稽动作来保护希瑟。她告诉希瑟,学校是由一群女巫领导的,他们想带走所有女孩。萨曼莎解释说,她打电话给希瑟的父亲来帮助她逃跑,但牛奶有毒。两个女孩都被女校长抓住,女校长立即带走了萨曼莎。后来萨曼莎被发现吊在自助餐厅的床单上。当一名警察前来调查时,希瑟告诉他失踪学生的情况。军官与校长对峙,但她声称女孩们逃跑了。另一位情妇“带领”警官进入树林寻找女孩们,在那里他被一棵树上的活藤蔓杀死。希瑟的父母来接她回家,但校长试图劝说他们不要这么做。在回家的路上,他们的车神秘翻转,希瑟被撞昏迷不醒。爱丽丝被一根活藤蔓拖出了车,踢了乔的头,把他打晕了。希瑟和乔在附近的一家医院醒来。在他们到达对方之前,特拉弗斯女士把希瑟拖走了,然后割开了自己的手,将她的黑色血液强行流进了乔的喉咙,这让他陷入了紧张状态。希瑟绝望地回到学校。那天晚上她喝了牛奶,但后来又吐了出来,发现里面有树皮。回到医院后,乔醒来并吐出了特拉弗斯女士的黑色血液,其中还含有树皮。他很快逃脱并去找希瑟。那天晚上,希瑟又开始听到声音,当她醒来时,她被藤蔓包裹在一个大雾蒙蒙的房间里,旁边是同样被囚禁的安和玛西。所有的老师都出现并表明自己是女巫。特拉弗斯女士是他们的领袖,她解释说,这些年来他们的灵魂一直被困在树林里,他们需要寄居在年轻女性的身体里才能逃脱囚禁。希瑟似乎是她计划的核心,因为她在天才学生中拥有最强的力量。希瑟被迫完成仪式,藤蔓开始将学校里的所有女孩制成木乃伊。在事情完成之前,乔拿着斧头闯入房间并开始杀死女巫。希瑟挣脱藤蔓,抓起斧头,将所有女巫砍成碎片。然后希瑟和乔带着所有女孩离开,电影的结尾指出,法尔本学院于 1965 年被烧毁,而周围的树林却奇怪地没有受到影响。