Rachel Carlson (Moore) is a successful American murder mystery author living in London with her five-year-old son, Thomas (Balawi) and her second husband, Brian (Cusick), a successful book editor that has been unable to get any of his own works published. His mother being too busy working on her latest novel to play with him, Thomas goes outside to play outside their canalside home, only to accidentally drown, devastating Rachel and putting a tailspin on her marriage and her ability to finish her latest novel.
Several months later, Rachel still blames herself for the death of her son, and is not only unable to finish her book but is also a simple signature away from formally being divorced from her husband. In an effort to finish her novel and find some emotional peace, Rachel moves away to a remote cottage on the Scottish coast. However, she soon starts to see the ghost of her late son, who at one point drags her into the waters and at another point moves a set of magnets on the refrigerator. A local town psychic informs Rachel that the spirit of her son is trying to tell her something, but the rest of the locals warn Rachel that the psychic is just a troubled woman.
Troubled by the possibility that her son has returned from the grave, Rachel shares her troubles with a young and handsome lighthouse keeper named Angus (Matheson) and the two spark a romance that suddenly goes awry when she learns that Angus died seven years ago by committing suicide after murdering his wife and her lover in the lighthouse. Rachel fears that she may be going insane and her efforts to prove otherwise, and learn more about the suicide-murder of Angus, falter when the news articles about the tragedy have gone missing from the local library, and Sharon Winton, her best friend and writer for a British tabloid journal, goes missing after Rachel saw her killed by Angus in the lighthouse.
It eventually comes to light that her soon to be ex-husband has been having an affair with her best friend, and that they paid a man, Patrick, to pose as Angus in order to cause an already emotionally unstable Rachel to act crazy enough in public that, when they make her murder look like a suicide, no one will suspect foul play. Just as Rachel is about to leave town, convinced that her dead son is trying to warn her that her life is in danger, she is drugged and dumped into the sea, only to be saved when the keys to the chains she has been put into suddenly fall into the water and thus allow her to free herself and make her way to the lighthouse in an effort to seek some revenge. (It was previously written on a slate, “don’t forget, look behind you” and Rachel heard her son repeating those lines in water).
However, after a brief fight at the lighthouse, Sharon hits her head and is killed in the kitchen, and Brian is murdered by Patrick, possessed by the spirit of Angus, in much the same way that Angus’s wife and lover died seven years previously. Patrick then jumps from the tower, as Angus had done. Rachel leaves town, with the promise that the house that she rented (which just happens to be the former home of Colin, Kate’s – Angus’s wife – lover) is kept empty so that Angus’s spirit can finally rest, since that house is the closest to Angus’s home in the lighthouse. She returns to her home in London, where her son died, having decided to celebrate his life instead of mourning his death.