一台四只脚的破破烂烂的铁堡,喷着浓浓的烟,走在迷雾中。天渐渐亮了,牧羊人已经开始牧羊,那铁堡飞快的走向深深的雪域。传说这是哈尔的移动城堡,而哈尔是传说中一个喜欢美女的妖魔。
绿色铁皮火车喷着黑烟,鸣着汽笛飞快地驶过。街边的一家帽子店里,一个瘦瘦的,乖巧的女孩子坐在窗子前,专心的做着帽子。她的面容不算美丽,但是眼睛里闪现着一种不易觉察的倔强。同伴们都走了,她要去一家从没有去过的西点店。她叫苏菲。

街上挤满了坦克和欢呼的人群,于是她决定走小路。在狭窄的巷子里,一对大兵拦住了她的去路,苏菲生气地与他们开始争执。就在苏菲不知所措之时,一只有力的臂膀轻轻把她拦在怀里:我是她的朋友,两位到别的地方散散步吧。然后这两个大兵,双腿仿佛不受自己控制似的,迈着整齐的步伐走开了。苏菲正要道谢,一个好听的声音说道:装作没事的样子,往前走,有人在跟踪我。苏菲一阵紧张,不由得挽住了那人的胳膊,随着他的步子往前走。

身后的黑影聚集地越来越多,直到把巷子塞满还在不停地增加。苏菲正替这个陌生的朋友着急,突然他向上一跃就飞到了空中,也将那些黑影甩在了身后。苏菲害怕极了,大喊着,陌生的朋友温柔地安慰她:脚跨出去,继续往前走。苏菲忙按照他说的去做了。果然,她也能在空中漫步了。风在他们的脚下,人群和房屋也在他们的脚下,苏菲有一瞬间觉得就这样一直走下去也很好。陌生的朋友把她送到一栋大楼的露台上:你呆在这里,我把他们引开。苏菲说好,两个人又像是认识了很久那样自然亲切。
酒店的大厅里,人声鼎沸。漂亮的蕾蒂在柜台前忙着给客人拿商品。很多人都是因为想跟漂亮女孩说说话,随便买点什么。一个服务员跑了过来告诉蕾蒂,苏菲来了。于是蕾蒂连忙往外跑,有人便很殷勤地替她开了门。听说了姐姐的遭遇,蕾蒂非常担心,她害怕姐姐遇到了魔法师,更害怕那个魔法师是哈尔,因为哈尔太恐怖了。可是仅仅相处了片刻的时间,苏菲的心已经不在自己身上了。临走的时候,妹妹蕾蒂再一次跟姐姐说:自己的事情要自己决定哦。

苏菲失魂落魄地上了回家的电车,那个帽子店是父亲留下的,苏菲作为长女便接管了过来。喜欢或者不喜欢,她自己也不太清楚,可她知道自己要把这件事做下去。在无人的角落里,两个木木呆呆地人抬着一顶粉色的轿子,似乎已经知道了要前进的方向。

趴在地上的苏菲好一会儿才爬起来,可是这个动作比平时要难很多。再看自己的手,满是皱纹。苏菲害怕极了,来到镜子前,看到自己的脸也变得好像是个七八十岁的老婆婆一样。苏菲很害怕,但是并没有慌了神。苏菲只好祈祷自己不过是太累了,睡一晚上自然会好的。其实,她中了荒野女巫的魔咒了
到了第二天,店里来了很多人,她的样子依然没有变。她只好躲在屋里装感冒。苏菲不能再留在帽子店了。她搭乘了一辆去郊外的牛车,她要去只有魔法师居住的中折谷。

下了牛车,年老的苏菲坐在山脚下吃干粮,看到一根树枝,便想要用它做拐杖,等她使劲拽出来那根树枝,才发现那是个倒立的稻草人。她把稻草人放好,继续赶路。越往山上走,风越大,苏菲发现后面有人跟来,居然是那个稻草人,手里还拿着一根拐杖。这是送给苏菲的。
她顺着烟的味道,找到了哈尔的移动城堡,城堡里黑漆漆的,也脏兮兮的。苏菲安慰自己道:上了年纪的好处,就是不再大惊小怪。她在火焰旁边打盹儿,跟恶魔卡西法聊着天就睡着了。

城堡的门铃有四个颜色不同的按钮,每一个按钮代表不同的地域。显示黑色的按钮时,哈尔拖着疲惫的身体推开了门。此时,年迈的苏菲降伏了小恶魔卡西法为她做饭。哈尔看到家里有陌生人非但没有生气,似乎还有些开心,疲惫一扫而光。他轻轻将老婆婆挤到一边,从她手中接过锅子,苏菲很近的挨着哈尔。若是以前的苏菲,肯定会不知所措吧。但是借着苏菲婆婆的掩护,便没什么了。哈尔很快为三人煎好了六个鸡蛋三个培根。吃饭间,哈尔知道苏菲中了魔咒。
哈尔在乌烟瘴气的天空又飞了一夜,飞机扔下来的炸弹,被他用身体在半空中扑倒了许多,但是依然挡不住陆地上一片火海。在飞翔时,哈尔是一只人类看不到的满身黑色羽毛的怪物。筋疲力尽的哈尔回到了城堡,看到他的样子卡西法很心疼,要他小心变不回人类。经过短暂的休整,哈尔又恢复如初。他轻轻打开苏菲的卧室窗帘,苏菲安静地睡着。睡着的苏菲还是那个小女孩。

整个城堡被苏菲打扫的一尘不染,也包括哈尔的房间。苏菲买菜回来,惊魂未定,因为她在路上遇到了荒野女巫扫卫生时,将哈尔的各种染发剂重新排列了一下,结果哈尔用错了,一头金黄的头发变成了橙色。觉得自己不美了的哈尔,很快便颓废起来,变成一滩烂泥。原来对他来说,美这么重要。好一个精致的小哥哥。苏菲很担心,这么爱美的哈尔喜欢的女孩子该多漂亮啊。而自己,就是在年轻的时候,都是个普普通通的女孩子,跟漂亮从不着边。
经过短暂的心理建设,振作起来苏菲帮助哈尔洗了个澡,然后给他热了杯牛奶。哈尔的房间里满是解咒用的东西。原来哈尔其实非常胆小,他害怕荒野女巫找到他。他曾经觉得荒野女巫很有趣,主动接近,觉得无趣后,又远离,所以荒野女巫才一直找他。你,有点渣啊。

苏菲为了帮助哈尔,去王宫里帮哈尔请辞。哈尔把一枚戒指戴在手上,说会保护她。苏菲在路上碰到了荒野女巫,两人都是去王宫,在王宫里苏菲义正言辞的拒绝了莎莉曼夫人,却引起她的嫉恨。哈尔带着苏菲和荒野女巫逃了出来。然后,自己去引开追兵。城堡被炸得一团糟。
哈尔把苏菲带到一个秘密小屋,那里非常美,两人正欣赏着美景,莎莉曼夫人的飞机运载着炮弹又来了。连这个地方都不能免除战争的荼毒。愤怒的哈尔将飞机动了手脚,引来了追兵。于是,哈尔快速将苏菲送回了城堡,自己又回去作战。

为了保护哈尔,苏菲决搬家。在每次作决定的时候,苏菲总是毫不犹豫。卡西法在苏菲的鼓励下,让城堡再次启动。城堡在急速飞驰,卡西法很是得意。就在这时,荒野女巫取出了卡西法的心,慌乱间苏菲拿起一桶水泼向了卡西法,整个城堡轰然坍塌。卡西法消失了。苏菲在坠落的地面上,痛哭不已。苏菲通过一扇小门去到了哈尔年幼的时候,她看到年幼的哈尔捧着小小的一团火。她大喊着:等着我,我会回来救你的。
回到现实的苏菲,才明白过来,原来哈尔一直在等她。而她也因为自卑,不自知。追悔莫及的苏菲,哀求荒野女巫能将卡西法还给自己,极度虚弱的卡西法被苏菲送回哈尔的心脏,卡西法是哈尔的初心,是最初的哈尔。哈尔活了过来,稻草人也变成了王子,但是看着眼前的一切,稻草人也明白了什么。莎莉曼夫人看到这个圆满的结局,也决定停止战争。

苏菲在自己变老之后,没有沮丧下去,而是勇敢的面对着一切。她打扫着房间,做着清洁妇该做的工作,陪在喜欢的人身边。其实,人生最重大的意义之一就是陪在那个重要的人身边才对。哈尔当初觉得荒野女巫有趣,主动接近,后来觉得不合适又离开。荒野女巫却一直紧紧追着哈尔,想要得到哈尔的心。当哈尔危在旦夕,苏菲想要从从荒野女巫手中结果卡西法,也就是哈尔的初心时,她一直不想给,直到被苏菲的一吻感动,送出卡西法后,才救活了哈尔。爱情是不随岁月变迁,容颜变老而改变的,苏菲还是个老婆婆时,哈尔一样爱着她。