Évszázadokon keresztül a béke amulettje, amely Thar, a legfőbb papnő (Isabella Rossellini) védelme alatt áll, biztosítja a békét az emberek és a sárkányok között Earthsea-ben. Ám amikor a Kardigek Earthsea templomát elfoglalják, az amulett kettétörik, és az egyik fele elveszik. A hódító, kegyetlen atuani király, Tygath (Sebastian Roché) a védtelenül maradt birodalom leigázására készül. Earthsea utolsó reménye egy Ged nevű fiú (Shawn Ashmore), egy egyszerű patkókovács fia, aki helyre állíthatja az amulettet. A lelkes, de kezdő varázslófiú bármit megtenne, hogy lenyűgözze az ifjú papnőt, Tenart (Kristin Kreuk).