1、18歲的蘇菲和繼母以及妹妹居住在歐洲的一個小鎮中,自從父親死後,繼母凡妮就把女兒們安排到原本由父親經營的制帽小店營生,但是蘇菲的妹妹卻對這并不感興趣,于是她很快離開了制帽店;而蘇菲則堅持留了下來,因為這是父親的最愛。
2、一次,蘇菲在看望妹妹的路上,被兩個士兵截住。這個時候一個神秘男子——哈爾出現了,他用魔法幫助蘇菲解決了問題,并送她去妹妹處。途中哈爾和蘇菲受到了荒野女巫的追捕。當晚,荒野女巫出現在了蘇菲經營的制帽小店中,并對蘇菲下了詛咒,把她變成了一個90歲的老太太,而蘇菲還不能對任何人透露咒語内容。于是蘇菲隻能離家出走。
3、途中她偶然遇見了神秘的稻草人蕪菁,為了躲避大風,被引進了神秘的哈爾移動城堡。在那裡,蘇菲結識了驅使城堡移動的魔力來源——火焰惡魔卡西法,小男孩馬魯克,稻草人卡普以及男主人公哈爾。蘇菲以清潔婦的名義住了下來,度過了一段平靜美妙的日子。蘇菲逐漸活出了自己,并不知不覺地被哈爾吸引。
4、城堡的主人魔法師哈爾擁有神奇的力量,但他并沒有像這個國家所有的魔法師一樣接受國王的号令參加戰争,而是用自己的力量捍衛和平。哈爾常常在黃昏後才精疲力盡地回到自己的城堡,并也因此越來越深陷,将變成惡魔狀态。直到有一天,哈爾對蘇菲說出了自己厭惡戰争的心聲,蘇菲決定幫助哈爾。在去王宮的路上,蘇菲遇到了荒野女巫。
5、原來這是個陷阱,宮廷女巫莎莉曼雖然是哈爾與荒野女巫的老師,但為了防止他們的心性被惡魔控制,收回了荒野女巫的的魔法,讓她變成了一個普通的老婆婆,而哈爾也因為放心不下蘇菲來到了王宮,當莎莉曼使出魔法要殺死卡西法收回哈爾的魔法時,蘇菲沖了上來救了哈爾。