A baby girl in a village falls ill and is not expected to survive. The father takes the child to see an enchantress, who removes the illness but leaves power within the girl. The villagers go to the girl, as she grows up, to hear her premonitions, but she uses her power to kill people, including her father. She is taken into the woods to be abandoned. There, she lures other children to their deaths. She becomes known as the Beautiful Child.
The scene shifts to teenaged Gretel (Sophia Lillis) and her younger brother, Hansel, after their father’s death. They meet a man about a housekeeping job, but he reveals his true intentions by asking Gretel if she is still a virgin. The children leave without work. Their mother rebukes Gretel for not helping provide for them and threatens to kill Gretel if they do not leave the house. The siblings flee and find a hut to stay for the night, but a ghoulish man appears and attacks Hansel. A hunter (Charles Babalola) saves the siblings and takes them to his home.
The next morning, the siblings go out to forage and seek work. Hansel is drawn to a house with the smell of cake coming from it. Holda (Alice Krige) invites them inside for a meal and allows them to sleep there in exchange for work. Holda sends Hansel to the woods to practice his skills with an axe while keeping Gretel indoors. Hansel is happy but Gretel grows suspicious of Holda. She sees a vision of the Enchantress and hears children’s voices. Holda shows Gretel how to tap into her powers as a witch. Hansel also sees a vision of the Enchantress and an inverted pentagram carved into a tree.
Gretel enters Holda’s cellar, where Hansel sits entranced. The floor floods with blood and a younger witch emerges, emptying buckets of guts and placing a dismembered child’s arm onto the table before turning this into the food that Holda feeds the siblings. The next day, Gretel watches Holda eat and sees her pull a lock of human hair out of her mouth. Through visions, Holda reveals she is the mother of the Beautiful Child. The child promised to share her powers with Holda if the latter trusted in the darkness. Holda devoured her other children and took on the guise of a kind, old woman to lure other children.
Holda straps Gretel down in the cellar. With her youthful appearance, Holda lures Hansel into a cage so she can cook him. Gretel uses her powers to pin Holda over the flames. Holda is killed by the fire, exacerbated by Gretel’s powers, breaking Hansel’s trance and Gretel’s bonds. Gretel decides to remain at the house. Hansel returns to their family home, discovering that their mother is no longer there and reclaiming his own axe. Gretel sees the spirits of the dead children emerge from the trees, finally free. Her fingers start to turn black as Holda’s did, but she states she will trust herself and control her newfound abilities.