Thor (Chris Hemsworth) må lede an i en kamp mot onde alver, ledet av den grusomme og hevngjerrige Malekith (Christopher Eccleston), som har planer om å føre mørke tilbake til jordkloden. Men denne fienden er en som selv Odin (Anthony Hopkins) og hans disipler i Åsgard ikke kan hamle opp med, og Thor må dermed ta ut sitt ytterste. Blant annet innebærer det å søke hjelp fra broren Loke (Tom Hiddleston), som tidligere forrådte ham og resten av Åsgard. På veien må han også beskytte Jane Foster (Natalie Portman), som blir rammet av en mystisk energi - og etterhvert gjøre det ultimate offer.