In England, after WWI, Florence Cathcart (Rebecca Hall) is a ghost hunter who exposes fake mediums. She lost her beloved in the war, and it is suggested that she goes to mediums and séances in hopes of contacting him, despite her vehement skepticism (she is, after all, Cambridge educated). She has written a wildly popular book, “Seeing Through Ghosts,” which sits on the shelf next to the Bible in many devotees’ private libraries. One afternoon, after exposing a fake séance, she comes home, exhausted. A knock on the door reveals Robert Mallory (Dominic West), a history master at a boys’ boarding school, Rookford. A boy named Walter Portland has recently died there of an asthma attack after being frightened by what he claimed was a ghost. Other boys claim to have seen it too. Mallory piques Florence’s curiosity by showing her two decades’ worth of school photos in which the same ghostly boy appears, year after year after year. Florence is skeptical and tells Robert to leave after he questions her authenticity. Still, she is attracted by the photos...and Robert’s intensity. Naturally she takes on his case and travels to the school.
Enter Maude, the matron of the school and Tom, the ghost student in the photos. Maude is Tom’s mother and, unlike everyone else in the school (including Robert), Florence can see and talk to Tom. To us, the viewers, Tom seems to be just another student, wearing the same uniforms as the other boys and participating in all of their classes and activities. So Florence sets up all of her scientific ghost-catching equipment and starts ghost hunting. Tom appears to scare Florence in various ways and forms, unsettling her and challenging her skepticism. When Mallory asked her about her work, she says, “Well, you can’t catch what doesn’t exist.”
Florence begins to see more and more weird stuff, clues, that continue to challenge her. A huge replica, a dollhouse, of Rookford continually appears to her, and as she looks through the windows with trepidation, she sees herself and the ghost boy exactly mimicking what is happening at that moment.
Ultimately, Florence sees and accepts that Tom is a ghost. She marvels that he can control his appearance and presence. She is at once curious, angry and frightened. Tom insists that she has to experience something to learn the truth and connect all of the clues she has been seeing. And so the climax begins...
Florence and Tom are half brother and sister, sharing a father. The live at Rookford, which was then a private home their home. The master of the house, Florence’s father, seduced and impregnated Maude, who was the children's nanny at the time. Tom was the result. Their father is a violent man. His wife (Florence’s mother) is pregnant again. The father and mother are fighting. The mother yells that it’s horrible to see her daughter with that other woman’s son, being raised as their own. “Give me a son!” the father screams. Then he shoots the mother, blood everywhere. She falls to the ground, not yet dead. The girl Florence stands between her mother and the father. “Get out of the way, Florence!” the father yells, more than once. When Florence finally runs away, he shoots the mother again, killing her. Florence dives into a cupboard to hide. Inside, she finds Tom, also hiding and in terror. The father pursues her, taunting that he knows where his little mousie hides. Florence is holding Tom, she loves him, and tries to keep him calm and allay his fear. She grabs a doll (a kind of creepy thing with a real rabbit head) to comfort him, and it begins playing a tune...and revealing their hiding place. The father fires his rifle into the cupboard, thinking he is killing Florence, but Tom falls out, dead and bloody. The father, anguished, puts the gun to his throat and blows his brains out right in front of Florence.
Things begin to move in slow motion as Florence is seen sitting, in shock, on the stairs and a servant drapes a blanket over her shoulders while everyone runs around in the aftermath of the massacre. Next we see Florence at the school’s kitchen table with Mallory and Maude, telling the story of what she has learned about herself. She sips wine that Maude has given her. “Now you and Tom can be together,” Maude says, and it dawns on Florence that Maude has poisoned her, and herself. As Maude slumps to her death, Florence tells Robert to get something to make her sick. He runs to the medicine cabinet, only to find it locked. Florence them implores Tom to use his ghostly powers to “fly.” Tom gets the goods, and we see Florence drink it, turn her head to, presumably, vomit. The scene ends with Florence holding Tom, saying she needs to “sleep.”
The final scene is of Florence at the school, where the new term is beginning and parents and students are moving back in. Florence walks through unnoticed, it seems, even by the headmaster. Bits of conversations speak of Maude and Florence in the past tense; Robert, however, can see Florence and they discuss plans for the following fortnight, when Florence will return to see him. They share a cigarette. There is no definitive answer. Is Florence alive or not? Florence had said that “we see what we need to see,” as she was able to see Tom, because she needed to in order to understand her life. Does Robert need to see Florence, alive or dead, in order to calm the loneliness and shell shock he suffered in the war? Or have two wounded people found each other, and fallen in love?