Believing his wife Lenore, played by Hazel Court, to be deceased, sixteenth-century magician Dr. Erasmus Craven, played by Vincent Price, retires. One night, he is visited by a talking raven seeking his help. Erasmus discovers that it is a fellow magician, Dr. Bedlo, played by Peter Lorre, who has been transformed into a bird by the master sorcerer Dr. Scarabus, played by Boris Karloff, as punishment for challenging his powers. After restoring Dr. Bedlo back to his human form, Craven learns that a woman resembling Lenore has been seen at Scarabus' castle. He joins forces with Bedlo in his quest for revenge. However, unbeknownst to Craven, Scarabus has planned to lure him to his castle in order to extract more magical powers from him.
Upon arriving at Scarabus' castle, Craven discovers that Lenore faked her own death to become the sorcerer's mistress and to share in his wealth and influence. Scarabus then imprisons the magicians and threatens to harm Craven's daughter unless he reveals his magical powers. In a fit of anger, Scarabus turns Bedlo back into a raven. The bird cuts Craven's bonds, allowing him to engage in a fantastical duel of magic with Scarabus. Craven emerges victorious, defeating his rival and destroying the castle in a fiery inferno.