Gretel (Sophia Lillis), uma garota de 16 anos, leva o seu irmão Hansel (Samuel Leakey) para uma floresta distante, desesperada por encontrar trabalho e comida para ajudar os seus pais em dificuldades.
Ao longo da sua jornada depara-se com a bruxa Holda (Alice Krige) que conspira para os raptar para os seus próprios terríveis objetivos.