Der von einem fernen Planeten stammende Krieger Kainan (James Caviezel), stürzt mit seinem Raumschiff in der Eisenzeit – dem Herrschaftszeitraum der grossen Wikingerstämme – auf der Erde genauergesagt in Norwegen ab. Nach einer kurzen Informationssammlung über seine jetztige Situation durch seinen Bordcomputer wird Kainan von einem Wikinger angegriffen und gefangen genommen. Der Häuptling des ansessigen Stammes heißt Rothgar (John Hurt), und er hält den Fremden für einen Spion des verfeindeten Clans der vom brutalen Gunnar (Ron Perlman) angeführt wird.
Kainans Geschichte über ein drachenähnliches Monster namens Moorwen, dass von seiner Heimat stammt und dass er seit der Ermordung seiner Familie jagd, löst bei den stolzen Wikingern zunächst nur höhnisches Gelächter aus, doch bald schon beginnen die ersten Menschen zu sterben bzw. zu verschwinden.
Häuptling Rothgar und seiner Tochter Freya (Sophia Myles) wird langsam klar, dass der Fremde die Wahrheit erzählt hat und sie nur gemeinsam diese neue Bedrohung überleben können.