Willow is een Nelwyn, een soort dwerg, die op een dag tot zijn grote verrassing een mensenbaby vindt. Het blijkt dat deze baby de kracht heeft om de kwaadaardige tovenares Bavmorda (Jean Marsh) te verslaan, en zo de vrede terug te brengen in het land. Het is aan Willow (Warwick Davis) om de kleine naar haar lot te begeleiden, waarbij hij hulp krijgt van zwaardvechter Madmartigan (Val Kilmer). Bavmorda zal er echter alles aan doen om de baby in handen te krijgen...
A baby girl is discovered in a river by Ranon and Mims, the children of Willow Ufgood, a dwarf farmer and magician and the baby girl is taken into the care of Willow's family. But when a terrifying dog-like creature attacks Willow's village, whilst tracking down the baby. Willow consults the village council and the wizard The High Aldwin. The High Aldwin gives Willow a task and Willow leaves the village and embarks on the task to give the baby girl to a responsible person. But Willow soon learns the baby is Elora Danan, the baby girl destined to bring about the downfall of the evil sorceress Queen Bavmorda. Joined by his allies: swordsman Madmartigan, sorceress Fin Raziel and the Brownies Franjean and Rool, Willow takes it upon himself to protect Elora from Queen Bavmorda, who intends to kill Elora and prevent Elora from fulfilling her destiny. And Willow and his allies are pursued by Queen Bavmorda's daughter Sorsha and the evil commander of Queen Bavmorda's army General Kael, whom are searching for Elora and bring her back to Queen Bavmorda's castle, where Queen Bavmorda bids to kill Elora in a ritual and prevent the prophecy of her downfall.