Dragonslayer
(1981)

Though he kills Tyrian (John Hallem) as well as Verminthrax’s children, Galen (Peter MacNicol) is unable to stop Princess Elspeth (Chloe Salaman) from sacrificing herself to Verminthrax’s children or kill Verminthrax, and barely manages to lose it and get out of its cave alive. Valerian (Caitlin Clarke) comes and takes him back to the village.

Valerian convinces Galen to leave Urland with her for good, since the time of magic and dragons was coming to an end due to the arrival of Christianity. As they’re about to leave on a boat, Ulrich’s (Ralph Robertson) amulet makes Galen have a vision of fire in the water. He remembers the lake of fire that he saw in Verminthrax’s cave, and understands now what Ulrich meant by wanting to have his ashes spread in “burning water.” The whole journey was planned from the start: Ulrich was too frail to make it alone, so he had his servants do it and carry his ashes for him.

Galen returns to the cave and goes to the fiery lake. He puts Ulrich’s ashes in it, says an incantation, and Ulrich is resurrected. Galen is happy to see him, but Ulrich tells him that he’s only back for a short time, and Galen must destroy his amulet – and him with it – when the time was right. He then goes to a nearby mountaintop to face Verminthrax. After a brief battle, the dragon snatches up Ulrich in its talons and flies off with him. Knowing that now was the time, Galen smashes the amulet with a rock, causing Ulrich to explode and kill Verminthrax. Inspecting the dragon’s corpse, the Christian villagers see its death as an act of God, and King Casiodorus (Peter Eyre) drives his sword into the corpse to claim the glory for himself, so neither Galen or Ulrich get any thanks or praise.

Galen and Valerian leave Urland for good, and as they are chatting, Galen wishes for a horse. Much to their surprise, a white horse appears, and they get on it and ride away.

Thanks Tornado Dragon!