A young woman named Sophie Hatter is the eldest of three sisters living in the town of Market Chipping in the magical kingdom of Ingary, where many fairytale tropes are accepted ways of life, including that the eldest of three will never be successful. She is very deft with the needle and makes the most beautiful hats and dresses. She is able to unknowingly talk life into objects. As the eldest, she is resigned to the "fact" that she will have no chance of finding her fortune, accepting that she will have a dull life running the family hat shop; until she is turned into an old crone by the powerful Witch of the Waste, who was offended by Sophie's younger sister, and mistakes Sophie for her. Sophie leaves the shop and finds work as a cleaning lady for the notorious Wizard Howl, famed in her town for eating the hearts of beautiful young women. Sophie strikes a bargain with Howl's resident fire-demon, Calcifer: if Sophie can break the contract between Howl and Calcifer, then Calcifer will return Sophie to her original youthful teenage form. Part of the contract, however, stipulates that neither Howl nor Calcifer can disclose the main clause of the contract to any third party. Sophie tries to guess the specifics of the contract, while Calcifer supplies frequent hints which Sophie usually does not pick up.
Sophie soon learns that Howl, a rather self-absorbed, dishonest but ultimately good-natured person (and an extraordinarily powerful wizard), spreads these malicious rumors about himself to ensure his privacy and smears his own reputation to avoid work and responsibility. The door to his castle is actually a portal that opens onto four different places: the moving castle Sophie first encounters in the hills above Market Chipping, the seaside city of Porthaven, the royal capital of Kingsbury and Howl's boyhood home in Wales, where he was named Howell Jenkins.
Howl realizes that Sophie is under a spell and secretly attempts to remove the curse; when met with failure, he comes to the conclusion that Sophie simply enjoys being in disguise.
Howl's apprentice Michael Fisher runs most of the day-to-day affairs of Howl's business, while Howl chases his ever-changing paramours. Howl and Michael court Sophie's two younger sisters Lettie and Martha, respectively. Martha, the youngest, was sent to study magic, while the middle sister, Lettie, was apprenticed at a local bakery. Magically disguising herself as Lettie, Martha arranged for the two of them to switch places, as Fanny (Martha's mother and Sophie and Lettie's stepmother) did not take their wishes into account when arranging their apprenticeships.
When Prince Justin (the King's younger brother) goes missing while searching for Wizard Suliman (Benjamin Sullivan, also from Wales), the King orders Howl to find Suliman and Justin and to kill the Witch of the Waste. Howl, however, has his own reasons to avoid seeking a confrontation with the Witch of the Waste; the Witch, a jaded former lover, has laid a dark curse on him. Howl attempts to weasel out of it by having Sophie pretend to be his mother and petition against the appointment, but to no avail. Instead of blackening Howl's name as Sophie was asked to do, she gets him appointed the new Royal Wizard, the post he has been trying to avoid for years.
Howl spends an abnormal amount of time in the bathroom every day, and Michael tells Sophie that the day Howl does not spend hours making himself look beautiful for a girl is when he will truly believe that Howl is in love.
Howl continues to avoid the Witch of the Waste until she lures Sophie into a trap; believing that the Witch has taken Howl's current love interest, Lily Angorian, captive, Sophie goes to save her and is in turn captured by the Witch of the Waste. Howl comes to save Sophie, unshaven and with his hair in a mess, proving his love for Sophie, and defeats the Witch of the Waste. He knew all along that Miss Angorian was actually the Witch's fire demon in disguise. The Witch's fire demon had, over the years, taken control of the Witch and, once the Witch is defeated, tries to take Howl's heart to stay alive. Howl is able to stop the demon but fails because Miss Angorian took hold of Calcifer, who had been guarding Howl's heart, and tries to squeeze Howl's heart out of Calcifer . Sophie uses her ability of bringing things to life by talking to them to break the contract between Howl and Calcifer without killing either of them. Sophie has been unconsciously retaining the spell on herself, but her concern for Howl weakens the spell, and with the death of the Witch of the Waste (who was a significant force behind the spell as well), Calcifer, as he promised, breaks the spell surrounding her the second she concludes the contract between him and Howl. She immediately returns to her proper age. When Howl awakens, he destroys the witch's fire demon. This breaks the curse on Wizard Suliman and Prince Justin, whom the Witch had fused together in an effort to create a "perfect human" (Howl's head was meant to complete the being) to use as a puppet to rule Ingary.
Calcifer returns under the condition that he can come and go as he wishes. Michael and Martha end up together, as do Lettie and Wizard Suliman. Sophie and Howl admit they love each other (without actually saying it) and Howl suggests they live happily ever after as husband and wife.