"Once, long ago", the ancient Lord of Darkness (Tim Curry) laments his isolation in the shadows before sensing the presence of two unicorns who safeguard the Power of Light; where upon Darkness instructs Blix (Alice Playten) and his fellow goblins Pox (Peter O'Farrell) and Blunder (Kiran Shah) to kill the unicorns and bring him their horns to free himself. Meanwhile, Princess Lily (Mia Sara), a mischievous and vibrant girl goes alone to the forest to meet her love interest Jack (Tom Cruise), an adventurous forest dweller who teaches her the languages of animals before showing her the unicorns as he promised he would someday do. Against Jack's pleas, Lily approaches the stallion to stroke him, making him distracted and the perfect target for a poisoned dart from Blix's blowpipe. Once hit, the unicorns bolt, and Lily makes light of Jack's fears and sets him a challenge by throwing her ring into a pond, declaring that she will marry whoever finds it.
Jack, proving his love to Lily, dives into the pond to retrieve it. As the stallion dies from the poison and the goblins seize his horn, the forest and the pond freeze, setting the mortal realm into an apocalyptic winter. Lily runs off in terror before Jack can break the surface of the frozen pond. Taking refuge in a frozen cottage, Lily overhears the goblins talking about their slaying of the unicorn and testing the alicorn's magical powers. She follows them to a rendevouz with Darkness, who orders them to hunt down the mare. In a fit of overconfidence, Blunder challenges Darkness with the stallion's horn in hand, but is instead restrained and taken away.
In the forest, Jack encounters the elf Honeythorn Gump (David Bennent, voiced by Alice Playten). Joined by Gump, the fairy Oona (Annabelle Lanyon), and the dwarves Brown Tom and Screwball (Cork Hubbert and Billy Barty), Jack searches for Lily before coming across the lifeless stallion and his mate. Knowing that the horn must be recovered and returned to the stallion, Jack is led by Gump and the others to a cache of ancient weapons while Brown Tom guards the mare. Lily, attempting to make amends for her role in the stallion's death, is captured alongside the mare after Brown Tom is knocked out. Learning what has transpired, Jack and his group enter the ancient temple in the marshes where Darkness resides. Though Jack deals with the swamp hag Meg Mucklebones (Robert Picardo), he and his group fall into a pit trap that takes them to dungeon. There they encounter Blunder, revealed to be a disguised elf, before he is dragged off by the ogre chefs to be cooked into a pie. Oona saves Jack and the others, and they resume searching for Lily and the mare.
Having fallen in love with Lily, Darkness tempts her; and Lily agrees to wed him on the condition that she kills the mare in the upcoming ritual. Overhearing their conversation, Jack and Gump learn that Darkness can be destroyed by daylight. While saving Blunder, the group take giant metal platters to reflect the sunlight to the chamber where the mare is to be sacrificed. As the ritual begins, Lily frees the unicorn, but is knocked out by Darkness. Jack fights Darkness while the others relay the light of the setting sun. Once hit by the light, Darkness is expelled to the edge of a cliff, but, using the unicorn's horn to hold on, he defiantly states to Jack that evil lurks in everyone and that they will never truly defeat him. Jack strikes Darkness' hand, releasing the unicorn's horn, and Darkness is expelled into the stars. As Gump returns the stallion's horn, returning him to life, Jack retrieves the ring from the pond and returns it to Lily, reviving her.

Question: Why does Lily have Darkness agree to let her do the sacrifice in the upcoming ritual?
Answer: So she can free the unicorn.