When twin girls are born on the outskirts of the poor agrarian village of Gwenith, the villagers think it’s a misfortune for their parents. But as the girls grow, the villagers notice that the rain hasn’t come since they were born, and they blame the drought and famine on the twins. The girls also give a creepy impression because they are mirror images of each other — one is left-handed, one is right-handed and they have identical birthmarks on opposite legs.
Fearing dark magic, the villagers force the twins’ father to banish his wife and young daughters to the forest. The father builds them a shelter and visits them every week at first, but then gradually decreases the frequency of his visits and finally stops coming. When the girls are 5 years old, their mother takes the twins back to visit their father, only to discover that he has a new wife.
Eventually, the girls’ mother dies. The girls have grown wild, and eventually they make their way back to Gwenith village. To get revenge on their father and the villagers, they unlock all the barn doors and chicken coops in the village to let the wolves eat their livestock. The next morning, they go to visit their father. He falls down dead from the sight of them.
The older sister enjoys his terror and consumes his soul as he dies. They go to see their father’s new wife. When she dies of fear, the younger sister consumes her soul. They then go to the other homes in the village, eating the souls of all the adults, sparing only the children. The twins, named Angelica and Benedicta, are no longer completely human. They have become soul eaters.
Alys is 7 years old when the soul eaters come to Gwenith. They meet her in a field and tell her to go to sleep. They notice she is completely free of fear. Alys wakes up the next morning in the same field where she met the soul eaters. A visiting trader named Pawl finds Alys wandering, but when he takes her home, she finds her parents have died. All the other adults in town are dead as well. The children age 15 and under are in an enchanted sleep, unless they are forcibly woken. Pawl takes Alys with him to get help from the nearby village of Defaid.
Pawl warns Alys not to let the new village know that she saw the soul eaters or that they spoke to her, because people from Defaid don’t like anything different or anything they can’t understand. In Defaid, Alys lives with Mistress Argyll and Brother Argyll, a stern couple, who tell her to call them Mother and Father. The Defaiders rescue the remaining children from Gwenith and place them in adoptive homes.
Alys is summoned to the High Elder’s house and questioned about the incident in her village since she was the only one whom Pawl found awake. When she opens a book in the High Elder’s house and admires a picture of The Beast, a metaphor for Satan, the High Elder makes Alys’ new father beat her arms with a stick as punishment.
Alys discovers that she enjoys being in the forest outside Defaid, which is dark and beautiful and free, in contrast to the rigid self-righteousness of the townspeople. On a trip to cut herbs and leaves for Mother, who is a healer and midwife, Alys secretly hopes she will meet the soul eaters again. They fascinate her.
In the forest, she meets The Beast from the book, a tall black creature with thin limbs and featherless wings. It can communicate with her telepathically. It asks her to give it the knife she used for cutting herbs. When she does, she also rolls up her sleeves to show it the wounds she received as punishment. The Beast licks her wounds, healing them completely. It tells her that she is like the soul eaters and that she will see them again someday.
The High Elder decides to build a Gate around Defaid to keep out evil creatures. Defaiders like Mother and Father, who live outside the proposed boundary of the Gate, must move inside, even though they don’t want to. Mother knows that Alys is an unusual child and she warns Alys that she must be even more careful of the watchful eyes of others.
Like Alys, Mother has magical powers, which enable her to sense when someone is sick. This ability has enabled her to be a good midwife and healer, but she decides to live even more carefully in the future to avoid being burned as a witch by villagers who think that almost any form of medicine is evil.
When the Gate is constructed, the children of Gwenith are assigned to guard the Gate at night. The Gwenith children are always exhausted due to their night watches, and some of them fall off the wall. The Defaiders show no compassion to the tired children, and Alys grows bitter and angry.
By the time she is 12 years old, Alys and the other children of Gwenith have started to hear the voices of women singing in the forest, beckoning them to come out and rest. Alys knows it must be the soul eaters. One night she is assigned pasture duty outside the Gate, helping the sheepdogs keep watch over the flocks. She sees the soul eaters walking toward her friend Delwyn, who is sick and lying in the field. The sisters ask Alys to come with them and rest, but they decide it is not yet her time.
Alys nurses Delwyn back to health by giving him tea and waiting until his fever breaks. The next morning, Delwyn’s two brothers are discovered dead in the fields, killed by the soul eaters. Delwyn soon runs away to join the soul eaters and become one of them.
Alys goes to the forest to visit The Beast. It tells her that the soul eaters should not be taking souls. By doing so they are opening up a hole in reality, a void that will consume everything and everyone eventually. The Beast is powerless to stop them because it is more of a personification of nature itself than a demon. The Beast tells Alys that because she is like the soul eaters; she can close the hole and that she will know how to do it when the time comes.
Three years pass. Alys is now 15. Her old friend Pawl the traveler and his wife, Beti, come to Defaid, bringing with them Cian, a brown-skinned boy about Alys’ age. The next day, Mother is terribly sick and wakes Alys to send her on a mission to their old house outside the Gate. Alys is supposed to bury a parcel under the oak tree outside their old house and bring Mother a medicinal root from a jar in the cellar.
When Alys digs through the earth to bury the bundle, she finds another bundle already there. Inside the old bundle is a tiny baby skeleton, dead after only a few months of development. Alys realizes that Mother is sending her to bury another prematurely dead child, and she wonder how many miscarriages Mother has endured over the years.
Alys goes to the cellar and retrieves the medicinal root before hearing voices above her. Rhys and Cerys, the teenage children of different Elders in town, have come to the abandoned house for a romantic encounter. When Rhys discovers that Alys has seen them, he hits her until he knocks her unconscious. When she wakes up, Cerys says cruel things to her, which brings out Alys’ anger. Without knowing it, Alys begins to draw Cerys’ life force away from her, which makes Cerys panic and label her a soul eater. Rhys knocks Alys unconscious again, and then ties her hands and leads her back to Defaid.
Rhys tells the Defaid Elders that he saved Cerys from having her soul eaten by Alys, so the Elders label Alys a witch and lock her up. The Elders’ wives put a helmet-life device called a witch’s bridle on Alys’ head, trapping her and preventing her from speaking. Then they lead her to the meetinghouse and push her inside a wooden cage. The Elders determine that she will be burned alive as punishment for being a witch.
Alys is left in the meetinghouse overnight with two guards. Father comes to bring firewood and hot tea for the guards, but put he puts a sleeping drug in the tea. When the guards pass out, he frees Alys from her cage and bridle. He tells her that Mother, unable to eat the medicinal root that Alys had retrieved, has already died of a post-miscarriage fever. He leads her to the Gate, where the remaining children of Gwenith let her out and give her a bundle of supplies to take with her. She is supposed to travel south, but instead sees a black path in the snow and feels as if The Beast is compelling her to follow it northward to Gwenith, her former hometown.
Alys encounters a pack of wolves and makes an unconscious psychic connection with one of them. She eats the wolf’s soul and briefly feels warm and strong, then throws up because of her guilt over taking his life. She hopes that her remorse means that she’s not yet too evil to be past redemption. On the brink of collapse from the cold, she feels The Beast encouraging her to keep following the black path, even though it means climbing a mountain between Defaid and Gwenith.
She finds a shack waiting for her at the end of the path, stocked with firewood and flint. As she lies down under a pile of furs, she has a vision of a mother, two little girls and a goat living in the shack and realizes this was the home of the soul eaters. She rests, wakes up and walks toward Gwenith before passing out again.
When she wakes up, she realizes she has been rescued by Pawl, Beti and Cian and is resting in a house in Gwenith, where they’re staying temporarily. Alys finds that she can no longer eat solid food. She adores Pawl and Beti and is increasingly attracted to Cian, but she worries that she is becoming a monster and may try to eat their souls by accident. Pawl and Beti have a drinking problem that Alys wasn’t aware of.
When the adults are completely drunk, Cian helps put them to bed, and then he talks with Alys. Cian’s parents were killed by the soul eaters, and he’s been with Pawl and Beti ever since. She learns from Cian that all the villages in the area live in fear of the soul eaters coming home to their villages. They either build gates to keep them out, or drink alcohol so they don’t hear their singing and follow them into the woods.
The four of them travel in their caravan toward the Lakes. After a few days, a rider from Defaid catches up to them on the road. He says that Defaid has been nearly destroyed. Their Gate was burned down. As it was burning, half the people in the village walked out into the woods to be devoured by the soul eaters. The children of Gwenith all disappeared. The Defaiders stoned her father to death on suspicions of practicing black magic. Pawl and Beti decide to steer clear of villages and take Alys back to their home in the Lakes so she won’t be recognized.
At the Lakes, Angelica comes and asks Alys to give up human society and embrace life as a soul eater, but Alys refuses. Day by day, Alys sees visions of the hole, the void in space and time created by the soul eaters. She decides to run away from the Lakes, but her affection for Cian stops her from leaving. She tells Cian everything about her past and waits for his disgust and rejection, but receives only acceptance and sympathy.
The children of Gwenith finally arrive at the Lakes. One of the youngest boys, Ren, runs into the forest because he is afraid of Alys. Alys feels contempt for him because he thinks she is a monster. But then she is terrified of her own anger and her brief desire to harm Ren. Alys tells Cian that she must leave the Lakes and help The Beast close the hole made by the soul eaters or the whole world will be destroyed.
Alys meets The Beast, who takes her to Benedicta, who no longer looks wild and beautiful but hideous and broken. Benedicta says she’s tired of eating souls and is ready to die. She wants Alys to eat her soul, but Alys will only promise to do so if Benedicta leads her to Angelica.
Delwyn comes to see Alys, and he tells her he hates his existence and is ready to die, but he’s frightened of going into the hole. Alys goes with him and watches as he commits soul suicide by entering the hole and becoming nothing. The next day, Benedicta leads Alys to the ocean, where Angelica is waiting in a tall tree on a cliff.
When Angelica threatens Alys, Alys embraces her dark powers and fights against Angelica, who then begins to eat Benedicta’s soul to gain more strength for herself. The two sisters fight for a while, and then eat each other’s souls simultaneously to finally gain some peace.
The next morning, Alys wakes up feeling truly human for the first time in a long while. She begins the return trip to the Lakes and sees that the hole is growing smaller and smaller, healing itself. Soon, she goes on a trip to the ocean with the children of Gwenith, who are now carefree and able to play freely in the water. She enters the ocean with Cian, laughing and holding his hand.