King Acrisius of Argos (Donald Houston) imprisons his daughter Danaë (Vida Taylor), jealous of her beauty. When the god Zeus (Laurence Olivier) impregnates her, Acrisius sends his daughter and his newborn grandson Perseus to sea in a wooden coffin. In retribution, Zeus kills Acrisius and orders Poseidon (Jack Gwillim) to release the last of the Titans, a gigantic sea monster called the Kraken, to destroy Argos. Meanwhile, Danaë and Perseus safely float to the island of Seriphos, where Perseus grows to adulthood.
Calibos (Neil McCarthy), son of the sea goddess Thetis (Maggie Smith), is a young man engaged to marry Princess Andromeda (Judi Bowker), the daughter of Queen Cassiopeia (Siân Phillips) and heir to the rich city of Joppa; but has not only reduced the Wells of the Moons to a near-lifeless swamp, but also hunted and destroyed Zeus's sacred flying horses (excepting only Pegasus). To punish him, Zeus transforms Calibos into a deformed monster and he is exiled by his people. In revenge, Thetis transports Perseus (Harry Hamlin) from Seriphos to an abandoned ampitheatre in Joppa, where he is befriended by an elderly poet named Ammon (Burgess Meredith) and learns that Andromeda is under a curse and cannot marry unless her suitor successfully answers a riddle, whose failures are burned at the stake. In order to aid his son, Zeus sends Perseus a god-crafted helmet from Athena (Susan Fleetwood) which makes its wearer invisible, a magical sword from Aphrodite (Ursula Andress), and a shield from Hera (Claire Bloom). Perseus, wearing the helmet, captures Pegasus and follows Andromeda to learn the next riddle. Perseus is nearly killed by Calibos but escapes, losing his helmet in the process. He also manages to sever Calibos' hand.
Perseus presents himself as suitor and correctly answers the riddle, presenting the severed hand of Calibos. Perseus wins Andromeda's hand in marriage. Calibos, finding that Thetis cannot act against Perseus, instead demands that she take vengeance on Joppa. At the wedding, Queen Cassiopeia compares Andromeda's beauty to that of Thetis herself, whereupon Thetis demands Andromeda be sacrificed to the Kraken on pain of Joppa's destruction.
Perseus seeks a way to defeat the Kraken, while Pegasus is captured by Calibos and his men. Zeus commands Athena to give Perseus her owl Bubo; but she orders Hephaestus (Pat Roach) to build a mechanical replica of Bubo instead, who leads Perseus to the Stygian Witches (Flora Robson, Anna Manahan, and Freda Jackson). By taking their magic eye Perseus forces them to reveal that the only way to defeat the Kraken is by using the head of Medusa the Gorgon, who lives on an island at the edge of the Underworld.
On the Gorgon's island, Perseus kills Medusa's canine guardian Dioskilos, who slays one of Perseus's companions, whereas two others die on encounter with Medusa herself. Perseus uses the reflective underside of his shield to deceive Medusa, decapitates her, and collects her head; but the shield is dissolved by her blood. As Perseus and his party set to return, Calibos enters their camp and punctures the cloak carrying Medusa's head, causing her blood to produce giant scorpions. Most of the men are killed; but Perseus slays the last scorpion and thereafter kills Calibos.
Weakened by his struggle, Perseus sends Bubo to bring Pegasus. Perseus reaches the ampitheatre in Joppa, but collapses unconscious from exhaustion. As Andromeda is shackled to the sea cliffs outside Joppa, Bubo diverts the Kraken's attention until Perseus, whose strength was re restored by Zeus before the Kraken was released, appears on Pegasus. In the subsequent battle, Bubo and Perseus use Medusa's head to turn the Kraken into stone, and free Andromeda.
The gods predict that Perseus and Andromeda will live happily, rule wisely, and produce children, and Zeus forbids the other gods to pursue vengeance against them. The constellations of Perseus, Andromeda, Pegasus, and Cassiopeia are created in honour of their namesakes.