Clash of the Titans is set in the Greek city of Argos, where a war is about to explode between man and the gods. A narration introduces the three Olympians who battled the Titans long ago: the brothers Zeus (Liam Neeson), Poseidon (Danny Huston), and Hades (Ralph Fiennes). Hades provided the means of defeating the Titans with his creation, the Kraken.
After the Titans' defeat, Zeus created humans and ruled them while Poseidon ruled the sea, but Hades, having been deceived by Zeus, was forced to rule the Underworld. Zeus and Poseidon gain power from the prayers of humans, but Hades learns another way: fear.
A fisherman named Spyros (Pete Postlethwaite) finds a coffin adrift in the sea, discovering a baby, Perseus, and his dead mother, DanaŽ (Tine Stapelfeldt), inside. Spyros decides to raise Perseus as his own.
Years later, Perseus (Sam Worthington) and his family are fishing when they witness a group of soldiers from Argos destroying a statue of Zeus as a declaration of war against the gods. Hades appears and commands harpies to massacre the soldiers before he himself destroys Perseus's family's fishing boat. Perseus tries to save his family, but to no avail.
The surviving soldiers take Perseus back to Argos. During a feast for the returning soldiers King Kepheus (Vincent Regan) and Queen Cassiopeia (Polly Walker and Katherine Loeppky) of Argos compare themselves and their daughter, Andromeda (Alexa Davalos), to the gods, much to their daughter's dismay.
After convincing his brother to let him loose on humanity to punish Argos for its hubris, Hades appears in the courtroom before killing the remaining soldiers while Perseus is unaffected. Revealing Perseus to be the demigod son of Zeus, and aging Cassiopeia to death, Hades threatens that if Princess Andromeda is not sacrificed to the Kraken, Argos will be destroyed in 10 days.
Hermes (Alexander Siddig), the messenger god, approaches Zeus on Olympus, revealing the location of his son Perseus. Hermes suggests offering Perseus sanctuary, but Zeus declares that he shall be left to his fate, along with the other infidel mortals.
The king seeks the help of Perseus after he is placed in the dungeon. Perseus refuses until he meets Io (Gemma Arterton), a woman who does not age as punishment for refusing to be seduced by a god. Io reveals that Perseus' conception was a punishment conducted by Zeus on Acrisius (Jason Flemyng), the former king of Argos who was married to DanaŽ, for his actions against the gods.
When Acrisius set DanaŽ and the baby Perseus adrift in their coffin, an enraged Zeus struck Acrisius with lightning, leaving him hideously disfigured. After learning that killing the Kraken would allow him to have his revenge against Hades, Perseus agrees to help.
He and Argos' finest soldiers embark on a quest to find the Stygian Witches with a pair of Persian monster-hunters named Ixas (Hans Matheson) and Kucuk (Mouloud Achour), and Io following. To counter this turn of events, Hades enlists Acrisius, now called Calibos, to kill off Perseus. Hades imbues Calibos with superhuman powers.
In the woods, Perseus and his men discover a sword forged in Olympus that will only display power if it is wielded by Perseus. While separated from the group, Perseus encounters Zeus' sacred herd of flying horses, the Pegasus. However, Perseus refuses both the sword and the pure-black Pegasus that the gods offer as assistance, as he does not wish to be a god.
Calibos attacks the group and tries to murder Perseus, killing several soldiers in the process, but Calibos is unsuccessful, losing his hand before escaping. However, Calibos's blood forms giant scorpions from the sand that attack Perseus and his group. Though they kill several scorpions, most of the group are slain, and the survivors are surrounded by more of the monsters.
They are saved by the Djinn, a band of once-human desert sorcerers who have replaced their earthly flesh with ash and dark magic. The mysterious beings are able to hypnotize the scorpions into submission. Though not trusted prior to healing Perseus's wound, the Djinn leader, Sheikh Suleiman (Ian Whyte), joins Perseus's group. The Djinn want to see the gods' wish for destruction fail.
The heroes arrive at Garden of Stygia, learning from the Stygian Witches that the head of the Gorgon Medusa (Natalia Vodianova) could kill the Kraken, but that Perseus and his group will die in the process. After leaving the witches, with the hunters taking their leave, Perseus is visited by Zeus who offers him asylum on Mount Olympus, but he refuses.
Zeus gives him instead a golden drachma, which Perseus later learns is a means to bribe Charon for passage into the Underworld. While Io remains outside Medusa's lair, due to a spell that forbids any woman from entering the area, Perseus' remaining soldiers fight hard to stay alive but are turned to stone one by one by her gaze.
But with Suleiman self-destructing and Draco's sacrifice, Perseus manages to behead Medusa. Perseus emerges in time to see Calibos kill Io by stabbing her from behind. Perseus engages Calibos in combat and kills him using the sword from Olympus, turning him back into Acrisius in human form. With his final breath as Hades's power leaves him, Acrisius tells Perseus to never become a god.
Perseus stays with the dying Io until she passes on, then rides Pegasus back to Argos with Medusa's head to find some of Argos' citizens have formed a cult of Hades and are planning to sacrifice Andromeda to the Kraken against the king's wishes. By then, Hades reveals to Zeus the destruction of Argos will give him enough power to overthrow the other Olympians before leaving his powerless brother to ensure his victory.
Perseus returns to Argos, but Hades sends his harpies to stop him. Perseus defeats the creatures sent by Hades and uses the head of Medusa to turn the Kraken into stone as Kepheus is killed by the cult leader, who is then crushed under the shattering Kraken. Hades appears and sneers that Perseus cannot kill him, since he is a god.
Perseus retorts that while Hades can live forever, it will not be in the world of men and uses the sword to banish Hades back to the Underworld. Because Perseus has saved Argos from destruction, Andromeda suggests that Perseus become king and rule Argos at her side, but he declines.
Zeus appears before Perseus again and offers to make him a god, but for a second time he refuses. Zeus warns Perseus that Hades will return to rule the world in darkness when he amasses enough fear from mankind. Since Perseus is intent on staying on Earth, Zeus resurrects Io, and the two embrace while Pegasus flies above them.