England, A.D. 984: The tyrannical Saxon King Freyne summons his young son Einon (Lee Oakes) and Einon's mentor Bowen (Dennis Quaid) to witness the suppression of a peasant rebellion. Though the king’s troops are ultimately victorious, Freyne is killed when the rebels stage an ambush. Einon rushes into the fray to claim his crown and is accidentally stabbed through the heart before Bowen can reach him.
Einon's mother, Queen Aislinn (Julie Christie) has him taken to a cave in the mountains where she pleads with a dragon to save the boy's life. The dragon recognizes Aislinn as "the daughter of the Celts," whose people had revered his kind. For her sake, the dragon removes a part of its own heart and bestows it upon the boy, cauterizing the wound with a blast of fire. Einon revives and is carried home to recover. Grateful for the dragon's sacrifice, Bowen pledges to repay his debt.
Shortly thereafter, Einon reveals himself to be as brutal and pitiless as his father, enslaving the former rebels and forcing them to begin work rebuilding the nearby ruins of a Roman castle. As the young king gives the order to have the rebel leader blinded, Bowen intervenes and allows the man to escape. Believing that the dragon's heart is responsible for Einon’s wickedness, Bowen returns to the cave and vows to seek vengeance.
Twelve years later, Einon's (David Thewlis) castle is rebuilt and Bowen becomes a formidable dragon-slayer. During one dragon-hunt, the knight meets Brother Gilbert (Pete Postlethwaite), a monk and aspiring poet. Impressed by Bowen's prowess, the priest is determined to follow him and record his heroic exploits in epic verse. The knight stalks another dragon to its cave and engages it in battle, resulting in a stalemate. The dragon (voiced by Sean Connery) tells Bowen that he is the last of his kind, and that the dragon-slayer will have difficulty finding work if the two "pursue this fracas to its final stupidity". The dragon proposes a partnership, and the two begin defrauding local villages with staged dragon-slayings; the dragon attacks a village, Bowen offers to kill him for a fee, and pretends to spear the dragon, who then falls into a nearby lake and swims out of sight underwater. Since the dragon’s name is difficult for the human tongue to pronounce, Bowen calls him "Draco", after a constellation that resembles a dragon.
Meanwhile, Einon encounters Kara (Dina Meyer), the rebel leader's daughter, and realizes that she was responsible for his injury years before. He has her imprisoned and attempts to seduce her, but she stabs him in the shoulder in disgust. He leaves Kara alone to consider his offer, and Queen Aislinn helps her escape. Draco feels the pain of the wound, but continues to hide the connection between himself and Einon from Bowen.
In her home village, Kara attempts to instigate a new uprising. When Bowen and Draco arrive the villagers offer the girl as a sacrifice to appease the dragon. At Draco's lair, Einon approaches and demands that Kara be returned to him. Bowen and Einon duel, and Einon reveals that he had never truly believed in the knight's code; Bowen releazes that his former protegé had always been evil, and only pretended to agree with Bowen's idealism to learn the sword. When Einon gains the upper hand, Draco intervenes and Einon flees in terror. Kara pleads with Bowen to help her overthrow the oppressive king, but the disillusioned knight refuses.
The next scam attempt goes poorly when Draco lands in shallow water, forcing him to fly away to avoid being eaten, leaving Bowen, Kara and Brother Gilbert in danger from angry villagers. Draco rescues the three and carries them to the island of Avalon. Taking shelter from a rainstorm amongst the tombs of the fallen Knights of the Round Table, Draco reveals that the constellation he was named after is a kind of heaven where dragons may go if they earn a place. He attempted to gain a place there by saving Einon, hoping his heart would change the prince's nature and once again unite the races of Man and Dragon; he now fears that his failure will cost him his soul. Draco agrees to help Gilbert and Kara in the rebellion, but Bowen initially remains behind. Just then, he experiences a vision of Arthur, remembers the high ideals he once tried to instill in Einon, and agrees to join the rebellion.
During the battle between the peasants and Einon’s forces, the king is shot with an arrow. The resulting pain causes Draco to fall from the sky over Einon’s castle and the dragon is captured. Einon realizes that sharing the dragon’s heart renders him virtually immortal so long as no harm befalls the dragon, and determines to keep Draco alive and imprisoned indefinitely. Queen Aislinn tries to kill Draco in order to stop Einon, but he catches her in the act and murders her.
When the rebels invade the castle, Draco begs Bowen to kill him, as his death is the only way to end Einon's reign. After some reluctance, Bowen kills Draco in order to save Kara. This releases Draco's soul to the dragons' heaven — where he becomes a new star in the constellation — and kills Einon in the process. The film concludes with an epilogue by Brother Gilbert stating that Bowen and Kara went on to lead the people in an era of peace and prosperity, and that, whenever things were particularly difficult, Draco's star shone "for those who knew where to look"
Le Xe siècle, en Angleterre. Lors d'une révolte paysanne, Freyn, monarque tyrannique qui règne sur ses terres, est tué, et son fils Einon gravement blessé alors qu'il était sous la responsabilité de Sir Bowen, son tuteur, un chevalier adepte de l'Ancien Code établi par le roi Arthur. Mourant, Einon est transporté d'urgence auprès de Draco, un noble dragon qui le prend en pitié et lui sauve la vie en partageant son cœur avec lui...
Quelques années plus tard, Einon a grandi, et a pris la place de son père, mais uniquement pour se révéler encore plus cruel que lui ; Bowen, lui, est devenu un chevalier renégat et aigri, qui a juré d'exterminer tous les dragons de la terre, qu'il rend responsables de la corruption de son jeune prince... Jusqu'à ce que le destin le mette en face du dernier des dragons, qui n'est autre que Draco... S'en suit un combat terrible, au cours duquel Bowen doit s'avouer vaincu, avant de réaliser que le dragon n'est en rien responsable de la tyrannie d'Einon. S'en suit une collaboration de circonstance pour tuer Einon, collaboration qui se transforme peu à peu en une amitié que tout, à l'origine, interdisait...Mais, Bowen se rendit compte que si Einon mourait,Draco mourait lui aussi...Après les convaicantes paroles de Draco, il finit par le tuer...et en même temps fini l'êre des dragons et celui d'Einon.