The evil
sorceress Queen Bavmorda of Nockmaar hears of a prophecy that a child with a special
rune birthmark will bring about her downfall. She imprisons all pregnant women in her realm. The child is born, but her mother persuades the
midwife Ethna to smuggle the baby out of the castle. Bavmorda sends her Nockmaar Hounds after the midwife. With the hounds closing in on her, Ethna sets the baby adrift on a tangle of dried grass in a river before succumbing to the hounds. Meanwhile, Bavmorda sends her daughter Sorsha and an army led by General Kael to hunt down the baby. Downriver, a village of Nelwyn (a race of
dwarves) prepares for a festival. The baby is found by the children of farmer and aspiring sorcerer Willow Ufgood, and his family takes her in. At the festival, a Nockmaar hound arrives and attacks cradles. After Nelwyn warriors kill it, Willow presents the baby to the village leader High Aldwin as a possible reason for the hound's appearance. High Aldwin orders the baby must return to a Daikini (the Nelwyn's name for "
tall people") family, so Willow and other volunteers set out with the baby to find one. At a
crossroads, they find Madmartigan, a
mercenary trapped in a
crow's cage, who offers to take the baby in exchange for his freedom. Most of Willow's party think they should give him the baby, but Willow and his friend Meegosh refuse, causing the others to leave for home. After meeting Madmartigan's old comrade Airk leading an army to attack Nockmaar forces, Willow agrees to Madmartigan's terms. On the way home, Willow and Meegosh discover that some
brownies have stolen the baby, and pursue them. They are captured by the brownies, but Fairy Queen Cherlindrea frees them and explains the baby is
Elora Danan, the foretold Princess of Tir Asleen. She gives Willow a magic wand and sends him to find the enchantress Fin Raziel. Willow sends Meegosh home and continues the journey in the company of two brownies, Franjean and Rool. At a tavern, he re-encounters Madmartigan, who is disguising himself as a woman to hide from his lover's husband Llug. Sorsha and Kael's soldiers arrive, but Madmartigan is revealed as a man to Llug, who starts a brawl which helps Willow and Madmartigan escape with Elora. Madmartigan allows Willow to follow him to the lake where Raziel lives. They are captured soon thereafter, along with Raziel, who had been turned into a
possum by Bavmorda. Willow tries to restore her, but turns her into a
rook instead. Franjean accidentally doses Madmartigan with love dust, causing him to declare his undying love to a skeptical Sorsha. Fleeing, Willow's party finds Airk and the remnants of his army. When the Nockmaar army pursues, Madmartigan takes Sorsha hostage, and they flee once more, but Sorsha manages to escape. Willow's party arrives at Tir Asleen, only to find it cursed and overrun with
trolls. Kael's army arrives, and Madmartigan and Willow attempt to fend them off. Willow accidentally turns a troll into an Eborsisk, a giant two-headed monster, with his wand, and in the ensuing chaos, Kael captures Elora. Sorsha, realizing she loves Madmartigan, defects to his side. Airk's army arrives, but Kael escapes with Elora and makes his way to Nockmaar Castle, where Bavmorda prepares a ritual to banish Elora into oblivion. Willow's party and Airk's army travel to Nockmaar Castle, but upon their arrival, Bavmorda casts a spell turning them all into pigs. Willow, having used the wand to protect himself, finally restores Raziel to her human form. She reverses Bavmorda's spell, and Willow's army manages to trick their way into the castle. Kael slays Airk, and Madmartigan avenges him, while Willow, Sorsha, and Raziel confront Bavmorda in the ritual chamber. Bavmorda incapacitates Raziel and Sorsha. Willow uses
sleight-of-hand to trick Bavmorda into thinking he made Elora vanish. Bavmorda, unnerved, moves to attack him, but accidentally completes the ritual while standing next to the altar, banishing herself. During celebrations at the restored Tir Asleen, Willow is gifted a spellbook by Raziel. Leaving Elora in the care of Madmartigan and Sorsha, Willow returns home to his village and family in triumph. ==Cast==