Atormentada por la muerte de su prometido, Florence Cathcart (Rebecca Hall) dedica sus energías a desmontar presuntos fenómenos sobrenaturales sirviéndose de sistemas metódicos y racionales. Cuando uno de los maestros del internado de Rookford, Robert Mallory (Dominic West), le pide en nombre de la institución que visite el centro en la campiña inglesa para investigar las supuestas apariciones del fantasma de un niño, ella acepta el reto. Una vez allí, empiezan a desvelarse algunos secretos y el misterio que rodea al fantasma parece no ser más que una broma de niños.
Sin embargo, cuando Florence está lista para marcharse, vive un escalofriante encuentro que desafía toda explicación racional. Asustada y confundida, Florence está dispuesta a llegar al fondo de la cuestión y decide quedarse en el internado durante las vacaciones de Navidad acompañada únicamente de la enfermera que solicitó su colaboración (Imelda Staunton), un niño cuyos padres no pueden hacerse cargo de él durante las vacaciones (Isaac Hempstead-Wright) y el profesor Mallory, quien tras luchar en la Gran Guerra vive perseguido por la culpa y las visiones del pasado. A medida que los lazos con Mallory se estrechan y la soledad que comparten alimenta su atracción mutua, juntos reúnen fuerzas para plantar cara a sus demonios.