While Sorsha (Joanne Whalley), General Kael (Pat Roach) and their men fight Willow (Warwick Davis), Madmartigan (Val Kilmer), Airk (Gavan O’Herlihy) and his men at the Castle of Galladoorn, Sorsha switches to Willow’s side after kissing Madmartigan, due to him seducing her with words of love earlier on (though he was under the influence of a fairy love potion) and her seeing his fighting prowess against her men. General Kael seizes the baby, Elora (Ruth & Kate Greenfield), and escapes the castle with her. Willow and everyone else immediately head to Queen Bavmorda’s (Jean Marsh) stronghold, Nockmaar Castle.
While outside the castle waiting for dawn to come to begin their attack, Bavmorda sees the enemy troops and magically transforms them into pigs, and begins the ritual to send Elora’s soul to the Netherworld and thus end the threat to her rule. However, Willow uses the wand given to him by Cherlindrea (Maria Holvoe) to finally transform the sorceress Raziel (Patricia Hayes) back into her original self, and she turns everyone back to normal with the wand. She and the others then begin to formulate a plan of attack.
The next day, it seems that all the troops have abandoned Willow and Raziel, and they call to General Kael to surrender. He and his troops laugh, and he sends forth some soldiers to kill them. However, it was an ambush, for Madmartigan and the others emerged from pits they dug covered by their collapsed tents, kill the soldiers, and enter the castle and fight the other soldiers. Sorsha, Raziel & Willow head for the ritual chamber to stop Bavmorda from completing the ritual, and do so just in the nick of time. Bavmorda and Raziel then fight over possession of the wand. Outside, General Kael slays Airk, and an enraged Madmartigan fights and slays Kael.
As Bavmorda strangles Raziel unconscious, Willow snags Elora and makes for the door, but Bavmorda shuts it on him. After ducking behind a slab of rock following a failed spell attempt, he faces Bavmorda and seemingly makes Elora disappear to “a realm where evil cannot touch her.” In a rage, Bavmorda knocks over the pan of ritualistic blood that was supposed to be used on Elora onto herself, and as she raises the wand to try and kill him, cursed lightning strikes her, and that combined with the blood causes HER soul to be sent to the Netherworld. When questioned by Raziel about what happened to Elora, Willow produces her from behind the slab of rock. He just used an old disappearing trick on Bavmorda.
Before Willow leaves to go home, Raziel gives him a book of magic and says he is on his way to becoming a great sorcerer. Willow kisses Elora (now in the care of Sorsha, the new queen) goodbye, and after shaking hands with Madmartigan heads for home. He is greeted with happiness and applause by all the other Nelwyns, shows the sorcerer High Aldwin (Billy Barty) how much he’s improved in magic, and hugs his overjoyed family.
Thanks Tornado Dragon!