19世纪末的欧洲,荒地出现了一座移动的城堡,传说城堡中的邪恶巫师哈尔会吃掉姑娘的心。苏菲是个18岁的少女,和继母及两个姐姐住在一起,每日在继母的帽店工作,过着平淡无奇的生活。苏菲的两个姐姐莱特和玛莎各有所好,一个宁愿学习包罗万象的巫术,另一个更希望成为一名面包师。她们很快离开这家商店,而一直在旁打下手的小苏菲反倒坚持下来,尽管苏菲也对自己的生活不满,但她仍希望自己制作的每一顶帽子都能令顾客满意。
一次,因为迷路,苏菲被英俊神秘的哈尔营救。但对苏菲和哈尔关系的误解,导致妒嫉的女魔术师给苏菲下了一个诅咒,苏菲被变成了90岁的老太太。苏菲决定离家出走。她独自一人在空旷的大山上逆风而行,遇到一个善良的稻草人,在他的指点下,苏菲走进了魔法师哈尔的移动城堡。在这个充满魔力会飞行的城堡里,苏菲隐瞒自己的真实身份,以一个清洁工的身份住下来,并和那里的小男孩及一个住在火中有着神秘力量的小人接下了深厚友谊。
这个神奇的城堡有一个转钮机关,随着它的位置改变城堡飞行移动,周围的环境也不断变换,刚才还是鲜花遍布的城市生活,瞬间就变成战火纷飞、硝烟弥漫的战场。城堡的主人魔法师哈尔拥有神奇的力量,就象这个国家所有的魔法师一样,他接受了国王的号召,用自己的魔法帮助国家进行一场战争。哈尔常常在黄昏后才精疲力尽地回到自己的城堡。苏菲开始渐渐了解哈尔,她试图帮助他,也帮助自己从这个尴尬的境地中走出来,两人不知不觉间坠入了爱河。哈尔开始思考自己的生活和使命,拒绝国王和女魔法师师傅的战争命令。两人遭到追杀,哈尔在一个咒语下变成一只大鸟。
为了救哈尔,苏菲回到哈尔的过去。原来,哈尔为了获得超人的力量,曾吞下一颗流星,代价是放弃原来属于自己的人心,人心由火中的小人保管。失去人心的哈尔象这个国家所有的魔术师那样,拥有了神奇的魔法,却失去了人类的善恶,成为帮助国家发动战争的机器。苏菲帮助哈尔放弃了流星,重新从火中小人那里取回属于自己的人心。哈尔失去了超人魔法,但身上的咒语也被解除,他和同样被解除魔法的苏菲一起,过上了幸福的生活……