Following the death of his father, a man named Joseph Hooper moves back into his father’s home, a large English mansion called Warings. Joseph has an eleven-year-old son, Edmund Hooper, and his wife, Ellen Hooper, died six years ago. At first, Edmund is lonely and bored at Warings, which he considers a dull, ugly place. He’s fascinated by the Red Room, a room of the house that contains the Hoopers’ vast collection of moths.
Joseph, lonely after the death of his wife, arranges for a woman named Helena Kingshaw to come to Warings to serve as his “informal housekeeper.” Helena brings her eleven-year-old son, Charles Kingshaw, with her. Charles and Edmund immediately dislike each other. Edmund mocks Charles for being from a working-class family. He also learns that Charles’s father has died, and criticizes Charles’s father for not supporting his wife and child. Around Joseph and Helena, Edmund is sweet to Charles. But in secret, Edmund plays nasty tricks on Charles. Recognizing that Charles is frightened of birds, Edmund places a stuffed crow in Charles’s bed at night, making Charles so frightened that he can barely move. Edmund also locks Charles in the Red Room, knowing that Charles is scared of moths.
While Helena and Joseph become closer with each other, Charles plans to sneak away from Warings forever. He packs supplies, including food and a flashlight, and waits for an opportunity to run away into the woods surrounding the manor. Edmund realizes what Charles is planning to do, and assures Charles that he’ll follow him wherever he goes. One day, Helena and Joseph leave to explore London together, and Charles seizes the opportunity to run away. He goes into the woods, conquering his anxieties. But while he’s exploring, he realizes that Edmund has followed him there.
In the woods, Edmund is frightened of the dark trees and mysterious animals. Even though Charles is more confident and less frightened than Edmund, Edmund continues to bully Charles. He tells Charles that, very soon, Helena and Joseph are going to be married. Charles realizes that, even in the woods, Edmund is still in charge. Charles goes off by himself to look for a way out of the wood, and when he returns, he finds Edmund floating face down in a stream. Charles saves Edmund’s life. The next morning, men come and rescue Edmund and Charles, after searching for them for hours.
Back at Warings, Edmund tells Joseph and Helena that Charles pushed him into the stream. Charles is furious, but Helena believes Edmund’s story. She scolds Charles for running away from home, and Charles becomes so angry with her that he refuses to tell her the full truth about what happened.
A few days later, Edmund torments Charles by locking him in a shed. Charles knows that soon he’ll be sent to the same boarding school that Edmund attends. Edmund is popular, and he promises to use his power to make Charles’s life a living hell. Charles becomes increasingly overwhelmed by Edmund’s sadistic bullying.
Joseph and Helena continue to get closer. One day they drive Edmund and Charles out to visit an old castle in the countryside. Charles climbs to the top of the castle, and Edmund chases after him. At the top, Edmund becomes so afraid of heights that he loses his balance and falls, breaking several bones. Doctors rush Edmund to the hospital; once again, Helena seems to blame Charles for Edmund’s accident, even though Charles had wanted to help Edmund maintain his balance.
In the following weeks, Charles tries to enjoy his time apart from Edmund. He makes a new friend, a working-class kid named Anthony Fielding, who seems far more comfortable and self-assured than Charles could ever be. Fielding tells Charles not to be so frightened of Edmund, and reminds him that Edmund can’t actually “do” anything to him. Helena spends lots of time visiting Edmund in the hospital, which Charles resents greatly. Finally, Joseph works up the courage to ask Helena to marry him.
Edmund returns to Warings, where he’s forced to spend all his time in bed. Helena forces Charles to spend time with Edmund, even though Edmund continues to scare Charles and bully him in different ways. Edmund likes that Helena is spending so much time with him, even though he doesn’t particularly like Helena. Charles occasionally steals away from Warings to spend time with Fielding, his only friend. Eventually, Helena finds out about Fielding, and invites him to come to tea with Edmund at Warings. This enrages Charles, since he thinks he’s losing his only friend and, moreover, his “only secret.” Around the same time, Joseph and Helena announce that they’re getting married, meaning that Charles and Edmund will become brothers.
At Warings, Fielding is calm and collected as Edmund tries to scare him. Charles becomes frustrated when he realizes that Edmund treats Fielding differently than he treats Charles. He becomes so upset that he stubbornly refuses to spend more time with either Fielding or Edmund.
On the night before Charles and Edmund are set to leave for boarding school together, Charles wakes up and sneaks away from Warings. Furious with Helena, Edmund, and himself, he returns to the only place where he’s ever felt completely comfortable—the woods. There, he finds the stream where he saved Edmund’s life, and drowns himself. The next day, men find his body.
When Edmund learns about Charles’s drowning, he feels triumphant, since he believes that in some way, he caused Charles’s death. Helena embraces Edmund, and he smells her perfume.