Eines Tages zieht der Fischer Spyros (Pete Postlethwaite) einen Sarg aus dem Meer, in dem sich der Leichnam einer Frau sowie deren noch lebender Sohn befindet. Er und seine Frau Marmara (Elizabeth McGovern) nehmen den Knaben auf und nennen ihn Perseus.
Perseus (Sam Worthington) wird Fischer. Jahre später sieht die Familie vom Boot aus, wie Soldaten von König Kepheus (Vincent Regan) von Argos eine Statue des Zeus zerstören. Aus der Unterwelt erscheint daraufhin Hades (Ralph Fiennes), der im Auftrag von Bruder Zeus die frevlerischen Soldaten vernichten soll. Während der Strafaktion wird auch Spyros Schiff getroffen, und Perseus muss mitansehen, wie die Pflegeeltern und seine Schwester in der Meerestiefe verschwinden.
Perseus wird gerettet und auf einem Schiff nach Argos gebracht. Hier erlebt er, wie sich die Menschen ein weiteres Mal gegen die Götter vergehen. Erneut erscheint Hades und kündigt an, dass er - sollte sich Kepheus weigern, bis dann seine Tochter Andromeda (Alexa Davalos) zu opfern - in zehn Tagen den gewaltigen Kraken entfesseln wird, der Argos in Schutt und Asche legen soll. Perseus, der inzwischen von seiner Identität als Halbgott und Sohn des Zeus erfahren hat, wird vom verzweifelten König angefleht, Argos und seine Tochter zu retten. Bevor Perseus mit einem Trupp Soldaten aufbricht, erhält er von seiner Schutzgöttin Io (Gemma Arterton) den Rat, die drei stygischen Hexen aufzusuchen. Nur sie kennen Mittel und Wege, wie der gewaltige Krake vernichtet werden kann.