В мире, где надвигается война, молодая девушка по имени Софи, работающая шляпницей в магазине своей сестры, чувствует, что ее жизнь не совсем соответствует ее внутреннему призванию. Ее существование прерывается, когда она становится жертвой заклятия злой ведьмы, превращающей ее в старушку. В поисках способа снять проклятие, Софи случайно оказывается в странном и передвигающемся замке, который принадлежит таинственному волшебнику по имени Хаул. В этом замке Софи встречает демона огня по имени Кальцифер, который управляет магическим домом. Несмотря на то что волшебник, ставший теперь ее хозяином, не признает в старушке свою спасительницу, Софи решает остаться и стать его помощницей.
Под маской старухи, она начинает узнавать о внутреннем мире Хаула и его взаимоотношениях с Кальцифером. Она стремится выяснить, как помочь Хаулу вернуться к его прежнему доброму и отзывчивому облику, надеясь, что это приведет к снятию ее проклятия. Пока в мире бушует война и власти призывают всех волшебников на службу, Хаул отказывается участвовать в конфликте, предпочитая оставаться в своем уединении. Софи, сталкиваясь с внутренними и внешними трудностями, решает посвятить себя делу восстановления справедливости и доброты, попутно выясняя, как ее собственная судьба переплетается с судьбой этого загадочного волшебника.