Bowen is a good and honorable knight trying to teach prince Einon the principles of chivalry. He hopes Einon will thus grow up to be a better ruler than his tyrannical father. Things suddenly go haywire when the king dies and prince Einon is also mortally wounded. The Queen mother Aislinn takes her dying son to a dragon and pleads for his life. The dragon heals the child by giving him a piece of his heart.
Einon becomes king and turns out to be as bad as or worse than his father. Bowen is convinced it is due to the influence dragon's heart. He becomes disillusioned, leaves Einon and becomes a dragonslayer. One day, he runs into a dragon (Draco) who claims to be the last of his kind and talks him out of killing him based on the idea that if the dragonslayer kills the last dragon, he will be out of a job.
They pair up to do a con job on various villages. Draco swoops in to harass a village, Bowen shows up and offers to kill him for a price, then they engage in mock battle and fake Draco's death. They split the proceeds and laugh about it afterwards. Thus they become fast friends before it is finally revealed that Draco is the same dragon who saved Einon's life.
As fate would have it, they end up dragged back into conflict with Einon. Initially, Einon wants the dragon killed, but then it finally becomes clear that he and Draco are linked by the heart they share. What injures one is felt by the other. He realizes that the death of the dragon would also mean his death but, as long as Draco lives, he is effectively immortal. In the end, the only way to rid the land of the tyrant king is for Bowen to kill his dear friend Draco. Draco cooperates in sacrificing himself in order to redeem his soul.