A woman brings her family back to her childhood home, which used to be an orphanage for handicapped children. Before long, her son starts to communicate with an invisible new friend.
Laura (Belén Rueda) has happy memories of her childhood in an orphanage. She convinces her husband to buy the place and help her convert it into a home for sick children. One day, her own adopted son, Simón (Roger Príncep), disappears. Simon is critically ill, and when he is still missing several months later, he is presumed dead. Grief-stricken Laura believes she hears spirits, who may or may not be trying to help her find the boy.—Official synopsis
After 30 years, Laura returns to the mysterious children's home where she spent her childhood. Not knowing what to expect, Laura and her husband set foot in the abandoned building, having ambitious dreams about the institution. But some places bear the indelible mark of suffering. When an ailing boy vanishes into thin air, the unsightly ghosts of the past resurface, inviting dark thoughts, guilt, and grief. Suddenly, spine-chilling nuances of paranormal activity blemish the physical world, demanding answers and closure. Are supernatural forces at work? Has Laura unwittingly summoned the sinister spirits of the orphanage?—Nick Riganas
The film is set in Spain, where Laura (Belén Rueda) returns to the dilapidated orphanage where she grew up, accompanied by her husband, Carlos (Fernando Cayo), and their seven-year-old son, Simón (Roger Princep). Her plan is to reopen the orphanage as a facility for disabled children. Once there, Simón claims that he sees a friend named Tomás, whom he draws as a child wearing a sack mask. Later, Benigna, the social worker (Montserrat Carulla), visits the orphanage and tells Laura that she has Simón's adoption file. Laura becomes angry at Benigna's intrusion and sends her away. That night, Laura finds Benigna snooping around her garden shed, but Benigna escapes before Laura can confront her. Later, Simon teaches Laura a type of scavenger hunt game that Tomás taught him. The game involves hiding a person's possessions, with the player who recovers his final possession winning a wish. While playing the game, Laura discovers Simón's adoption file is missing and angrily accuses Simón of hiding it. An angry Simón denies this and says that Tomás told him that Laura is not his real mother and that he is going to die.
Later, at a children's party at the Orphanage, Laura and Simón argue, and Simón hides from Laura. Laura looks in the bathroom, only to be confronted with a boy in a sack mask with the name "Tomás" embroidered onto his shirt. When Laura approaches Tomás, he traps her in the bathroom. Laura escapes and frantically searches for Simón. She sees a vague figure of a boy standing in a cave in the distance; in her haste to go to the figure, Laura trips and injures herself. At a medical center, the police psychologist, Pilar (Mabel Rivera), suggests to Laura and Carlos that Benigna may have abducted Simón. That night at home, a bedridden Laura hears unexplained banging in the walls.
Months later, Laura and Carlos spot Benigna pushing a baby carriage downtown. As Laura calls out to her, Benigna is suddenly hit and killed by a speeding ambulance. Laura rushes to Benigna's carriage, but finds only a doll wearing Tomás' sack mask. With this clue, Police search Benigna's home and find evidence revealing that Benigna worked at the orphanage long ago. Pilar shows Laura an old photo of a young Benigna (Carol Suárez) and her deformed son named Tomás. Laura learns that the children of the orphanage played a trick on Tomás, which led to his accidental death.
In desperation, Laura goes to a medium named Aurora (Geraldine Chaplin), seeking clues to her son's disappearance. The medium tells Laura that she is close to death, and so has the ability to see the dead.
Unable to cope with the situation, Carlos leaves the orphanage, and Laura takes sedatives to get into a state of near-death. She begins to see ghost children around her who lead her to a hidden door which leads to a basement room. Here, she finds Simón alive and hugs him in a blanket.
She tells Simón to think about what he's going to do when he grows up, next year's Christmas, and anything that will make the children go away. As the ghost children vanish, Laura sees the basement back to the present. She then finds the blanket in her hands as light as a feather. She drops the blanket to realize Simón is gone again. She turns around to see the rails of the stairs to the basement had been broken. Lying right beneath the stairs, Laura sees a body of a young child with Tomás's sack mask on. She slowly approaches the motionless body and takes off the mask to realize the body is actually her son, Simón, but dead. She cries in pain and grief. She then realizes that when she threw the metal poles in the closet leading to the basement, she trapped Simón inside. The big crash she heard in the middle of the night was Simón falling to the ground by the stairs. So Simón had been wearing Tomás's mask all along. Laura then carries Simón's body upstairs and swallows all her medication, begging to be with Simón again. Laura's wish is granted as the ghosts of the dead children appear and Simón comes to life in Laura's arms.
Alone outside the orphanage, Carlos walks over the gravestones for Laura and Simón who both were found dead while he was gone. Carlos returns to their old bedroom and finds a medallion that he gave to Laura on the floor. Carlos hears the sound of the bedroom door opening. When he moves his head up, he smiles. Screen cuts to black.