A hooded, disfigured young man is eating at a diner, being watched by a stranger. The stranger is Wyburd (Clive Russell), who has been stalking the young man, Simon (Jonas Armstrong). Wyburd convinces Simon to join him in his truck, where Simon passes out and awakens strapped to a table. Wyburd offers him a choice: a slow death, or a quick and clean death by telling the story of the Book of Blood, a series of scars and inscriptions carved on Simon from head to toe. Opting for a clean death, Simon reveals his story.
A teen girl is violently raped and beaten in her bed while her parents stand outside screaming her name. An unseen force rips her face off, killing her. Several months later, paranormal professor Mary Florescu (Sophie Ward) and her partner Reg Fuller (Paul Blair) investigate the house to unlock its mysteriously murderous past. Mary encounters Simon McNeal, a seemingly clairvoyant young man to whom she develops an attraction. Simon reluctantly signs on to assist, and the three of them move in. Early on, Mary hallucinates six girls dancing in a circle, playing ring-around-the-rosy. When they stop and look at her, they are all ghosts.
All three of them hear and witness strange phenomena, including Simon being locked in his room and attacked by ghosts, as well as writing scrawled on walls that bursts into flame. Reg convinces Mary to take a sample of the walls and send it in for analysis.
Mary and Simon grow closer, eventually sleeping together. While she sleeps, a dragonfly lands on her, and she has a vision of bloody skeletons dancing in a fountain. She admits that as a girl, she had visions of a fountain that spouted blood at night, the burial ground of a serial killer's young victim. She feels guilty because she never said anything, and he killed five more girls before being caught. When she goes to leave the house, she sees a final message on the walls - "You didn't listen."
The lab gets back to Mary and says the substances on the walls is gunpowder - perfect for making a wall appear to burst into flame. Mary realizes that Simon has been faking some of the phenomena, and confronts him; he admits his deception, but argues that some of it is not him, that his powers stopped when he was 13 but they have returned and he thinks it is Mary. Mary begins to pack up her belongings and drink, but begins to have visions of some of the people who have died. Before she can leave the house, she doubles over and throws up, and realizes Simon smuggled the gunpowder in with the pills. She and Reg break down all his other tricks.
Simon confronts Mary and Reg and says that the house has chosen him - he's supposed to be there. He tells her she will beg to write his story when it's over, and returns to the room, stripping off his shirt. Another dragonfly lands on Mary's hand, and she looks at it. As all of Reg's equipment begins to go crazy, dragonflies land on Mary's eyes and mouth. When Reg comes to tell her about his equipment, the room is swarming with dragonflies. Mary says she realizes the house is an intersection that allows the dead to spill over into their world. She says Simon has led them to a crossroads, and Reg contradicts her - it's not Simon, it's Mary. She is the key to opening the way for the ghosts; her powers were what awakened them.
Simon is again attacked by ghosts; this time, they carve into his flesh with nails and glass shards. Mary runs to find him, ghosts slowly descending the stairs past her as she ascends. Reg runs after her, but is startled by a terrifying ghost and falls over the railing to his death. When Mary enters Simon's room, she sees a vast haunted panorama filled with ghosts. She swears to the ghosts that she will listen this time; she will tell all of their stories. The ghosts heed her words and depart, allowing Simon to survive the ordeal.
Simon reveals to Wyburd that he was from then on kept prisoner, cursed to be the book on which the dead write while Mary wrote books and made millions off of the stories portrayed on him. As she aged, he remained the same youthful appearance, only more scarred with new stories for her to write. He admitted he couldn't take it anymore, so he fled, hence the reason Wyburd was hired to remove his skin. Wyburd, unmoved, lives up to his end of the bargain and kills Simon quickly. After placing his skin neatly into a suitcase, he waits for his payment. Blood suddenly starts pouring from the case, slowly filling the building that Wyburd is trapped in, and he drowns. Mary arrives, and is unfazed by Wyburd's body. She opens the suitcase, pulls out Simon's intact skin, and smiles as she begins to read the stories still being written upon the flesh.