Sophie, a young hatter, encounters a wizard named Howl on her way to visit her sister Lettie. Upon returning, she meets the Witch of the Waste, who transforms her into a ninety-year-old woman. Seeking to break the curse, Sophie leaves home and sets off through the country. She encounters Howl’s moving castle, where she meets Howl’s young apprentice, Markl, and the fire-demon Calcifer, who is the source of the castle’s energy and magic. When Howl appears, Sophie announces that Calcifer has hired her as a cleaning lady for the house.
Meanwhile, Sophie’s country is caught up in a war with a neighboring country. The King summons Howl to fight in the war; however, Howl decides to send Sophie to the King under the pretense of being his mother, to tell the king that Howl is too much of a coward to fight. Before leaving, he gives to Sophie a charmed ring that connects her to Calcifer. Sophie meets Suliman, the king’s advisor, and also the Witch of the Waste, whom Suliman punishes by draining all of her power, causing her to regress into a harmless old woman. Suliman says that Howl will meet the same fate if he does not fight; Sophie protests passionately in his defense, allowing Suliman to see Sophie’s true form, and to realize that she has feelings for Howl. Howl arrives to rescue Sophie; Suliman tries to trap him, but with Sophie’s help, they escape along with the former witch.
Sophie learns that Howl has been transforming into a bird-like creature in order to interfere with the plans of both sides in the war, but each transformation makes it more difficult for him to return to human form. Sophie’s mother — under Suliman’s control — arrives and leaves behind a “peeping bug.” The former witch promptly destroys the bug by tossing it into Calcifer, who then becomes sick and weak and unable to protect the castle. A few hours later the city is bombed by enemy aircraft. Suliman’s henchmen invade the group’s abode. After healing Calcifer, Howl tells Sophie that he is not going to leave because he wants to protect her. Deducing that Howl is trying to protect the castle and everyone inside it, Sophie moves everyone out, removes Calcifer from the fireplace and destroys the castle. The witch realizes that Howl has given his heart to Calcifer, and grabs the fire demon. A panicked Sophie pours water onto the witch, which douses Calcifer. The castle is split in two; Sophie falls down a chasm and is separated from Markl, the witch and Calcifer.
Following the charmed ring, Sophie passes into a scene from the past. She watched a young Howl take pity on a falling star—Calcifer—and give it his heart. The act bound Calcifer to Howl indefinitely; however, by losing his heart, Howl was emotionally trapped in adolescence. Sophie finds Howl in bird form, and takes him back to Calcifer. The witch returns Howl’s heart, and Sophie places it back inside Howl, returning him to life and freeing Calcifer. Howl wakes up and Sophie embraces him. Although Calcifer is now free, he returns to his former company. Suliman, watching through a crystal globe, decides to end the war. Howl, Sophie, and the others are seen high in the air in a new flying castle, while the bombers return from the war.