在茫茫人海中,相遇,相知,相守,無論誰都不會一帆風順,只有一顆捨得付出,懂得感恩的心,才能擁有一生的愛和幸福。
一座巨大的城堡在荒野裡行走,只為躲避前來追逐的女性,沒有目的,沒有方向。那巨大的城堡也是哈爾的內心。心若沒有棲息的地方,到哪裡都是在流浪。
在迷霧中前行的城堡無意間來到了一座小鎮——齊平鎮。當姑娘們紛紛望向窗外的城堡,嘰嘰喳喳議論哈爾時,一架戰機經過,城堡又再次回到迷霧中去。蘇菲聽著姑娘們的議論,看了看那座移動的城堡,安心的做著自己的帽子,仿佛一切都與她無關。蘇菲只是個帽子店的姑娘,過著她平淡無奇的生活。當她走出屋時,一架戰機從天空中掠過,戰爭早已開始。
蘇菲去探望妹妹的路上,遇到了兩位軍官的搭訕。哈爾的出現,幫助了蘇菲,那第一次的相遇卻又是久違的重逢。哈爾帶著蘇菲逃避橡皮人,逃避的遊刃有餘,高貴優雅,但是再美好的逃避,也是逃避。那次搭救也讓荒野女巫心生嫉妒,她的魔法讓蘇菲變成了一個九十歲的老婆婆。那個魔法並不是什麼咒語,而是蘇菲真正的內心。年輕的容貌下卻是一個乾癟、皺縮、空洞的內心,如同老人的皮膚。因為愛情,因為自卑,因為沒有獨立的人格而瞬間衰老。
衰老的模樣讓蘇菲無法繼續在原來的城鎮生活,離去便是唯一的選擇。途中蘇菲遇到了那個被魔法變成稻草人的鄰國王子,蘇菲給他起名叫「菜頭」。菜頭送給蘇菲手杖,還將移動城堡引了過來。巨大的城堡承載了哈爾太多的回憶,沉重、複雜、不堪回首的回憶也讓城堡變成了一隻醜陋蟲子般的模樣。蘇菲一不小心便踏進哈爾的世界。火魔卡西法是哈爾的心,哈爾可以不依靠心遊走在世間,但是他的心放在記憶城堡的深處。
蘇菲不敢奢望魅力十足的哈爾喜歡上自己,只敢已一個清潔工的身份住在城堡裡。哈爾帥氣的外表下卻是疲憊與孤獨,那一頭的金髮也是他唯一的安慰。蘇菲打掃房間時卻又意外的碰到菜頭,菜頭幫助蘇菲晾衣服。蘇菲坐在星湖邊上看著落入的餘暉「就算是死神,來到這麼美的環境中,也會變得溫柔。」蘇菲開始接受了現實,接受了死亡,就算在厄運磨難中依然樂觀美好的生活。
此時的哈爾正在那不見天日的戰火中與敵軍開戰,回來的哈爾成為一隻大鳥的樣子坐在椅子上「金屬和生物燒焦的味道,不好聞,要是飛的太過了,可就變不回人了。」用不屬於自己的形象活下去,就再也找不回當初的自己。蘇菲打掃過浴室,重新擺放了魔法藥水,讓哈爾的一頭金髮變成了紅髮。之前的金髮不過是個假象,哈爾從來沒有想過會將那真實的自己暴露給他喜歡的人看,哈爾整個人仿佛融化,失去了靈魂和熱情。
哈爾的臥室裡擺滿了金光閃閃的玩具,那些卻都是用來逃避荒野女巫的道具,玩具怎麼可能幫助哈爾逃避荒野女巫,哈爾只是在逃避自己。哈爾有很多名字,每個名字都是一個頭銜,一種角色,為的是隨心所欲的活下去,但是當現實的厄運來了,所有的戰爭都來了,他要為自己角色承擔起責任,所以不得不一個人效力兩個人的工作,心靈不停的奔波變得很疲憊,他不想參加戰爭,更不想面對現實。蘇菲只好假裝他的母親向國王求情。
蘇菲與荒野女巫一同來到王宮,莎莉曼刨除了荒野女巫的魔法,讓那個曾經為虛榮和地位學習許多魔法的她瞬間變得一無所有,她的容貌也蒼老了許多。莎莉曼勸蘇菲讓哈爾為國而戰,不然哈爾的下場將和荒野女巫一樣。哈爾趕來與莎莉曼對決,莎莉曼失敗了。有蘇菲在,有愛在,哈爾便不再膽小。
回去後,受傷的哈爾一個人窩在玩具巢穴裡,獨自舔傷口,不願意展示自己的傷疤,蘇菲告訴霍爾:「我來幫你,讓我幫你解開你身上的魔咒」哈爾說:「你連你身上的魔咒都解不開,怎麼幫我啊」蘇菲說:「可是我愛你啊!」霍爾倏忽一下便飛走了,兩個受傷的人,兩個被詛咒的人,彼此在一起生活,但是都不願任何人走進自己的生活。
哈爾將原來的城堡進行改造,將一個出口改為齊平鎮,將另一個出口改為哈爾的秘密花園。哈爾帶蘇菲來到了他的秘密花園,蘇菲在這裡卻很害怕,因為眼前的這一切太過美好,仿佛是假的,最美好的總是太短暫,害怕走進磨坊,哈爾就會消失不見。
一輪又一輪的空襲來了,哈爾決心為自己所愛的人誓死一戰,他不在選擇逃避。戰爭中的他又變回了一隻大鳥,不負理智的戰鬥。蘇菲也決定將城堡搬遷,對你最後的愛便是離開。
荒野女巫得知火魔就是哈爾的心臟後,將火魔據為己有,她的私心早已不顧火魔的燙手。蘇菲用水澆滅了火,城堡也開始瓦解,蘇菲便掉落到了地面。那一個戒指發出了微弱的藍光指向了一扇門,蘇菲走進了那扇門看到了少年的哈爾在從天而降的流星中得到了一顆流星,並去處了心與流星立下了契約。
蘇菲走出了門,為了救哈爾的她奪過荒野女巫手中的火魔,將火魔放回到了哈爾的心中。哈爾得到了真愛,破除了契約,火魔也變回來流星。稻草人菜頭也因為蘇菲的一吻變回來原來的樣子。「變心乃人之常情,回到自己的國家結束這場無聊的戰爭。」鄰國王子也決定回去結束那場戰爭。
愛,不是尋找一個完美的人,而是學會用完美的眼光,欣賞那個並不完美的人,因為愛你,只要你一個肯定,我就足夠勇敢。