Действие фильма происходит в параллельном мире Европы конца XIX-го века, где магия идёт рука об руку с техническим прогрессом. Скромная жизнь рано осиротевшей шляпницы Софи полностью изменилась, когда в окрестностях её города появился ходячий замок таинственного волшебника Хаула, известного своими «похищениями» девичьих сердец. Спасённая этим голубоглазым красавцем от приставаний двух солдафонов, она полюбила его с первого взгляда, однако волнующая прогулка с ним стоила юной шляпнице её красоты и молодости, отнятых чарами ревнивой ведьмы из Пустоши, влюблённой в Хаула. Вечером, когда девушка возвратилась домой, то обнаружила, что за ней тайно следовала Ведьма. Следует проклятие, и Софи превращается из 18-летней девушки в дряхлую старуху. Это событие заставляет Софи покинуть родной дом и в отчаянии отправиться прочь от людей на дикую пустошь, которая пользуется дурной славой. По дороге ей неожиданно попадается бродячее огородное пугало — Пугало-репка, которое, в связи с разыгравшейся непогодой, приводит к ней странное сооружение-замок. «Бабушка» Софи не спрашивая хозяина, сама себя назначает уборщицей этого странного гигантского дома на стальных «курьих ножках», обретя в них семью, хоть и немного разношёрстную: в Замке живут — Хаул, волшебник противоречивый и непредсказуемый; ученик Хаула — Маркл, а также огненный демон — Кальцифер. Софи желает снять заклятье ведьмы, но даже сама ведьма, наложившая чары, не знает как вернуть ей молодость обратно. Также выясняется, что заклятья лежат и на Хауле, и на Кальцифере, и на Пугале-Репке, а также на самой Ведьме пустоши. И эти заклятья связаны друг с другом, как кусочки мозаики…