In some far off land that's at war, Sophie (voice of EMILY MORTIMER) is a young girl who makes hats in her family's business. When some soldiers harass her in an alleyway, a mysterious and magical figure rescues her, but the two must avoid the monstrous minions of a local witch. The latter, known as the Witch of the Waste (voice of LAUREN BACALL), later pays Sophie a visit and casts a spell on her. It turns Sophie into an elderly woman (voice of JEAN SIMMONS) with the provision that she can't tell any of the spell or who she is or was.
Realizing she can no longer work or live at the shop with her mother, the stooped-over Sophie sets out to find help. The first character she encounters is a mute and emotionless scarecrow who bounces along the countryside on his pole. It eventually leads her to an enormous, mechanical-looking castle that slowly lumbers across the lands and is powered by a fuel demon known as Calcifer (voice of BILLY CRYSTAL). Inside is an old wizard who really turns out to be a young boy, Markl (voice of JOSH HUTCHERSON), who's an apprentice to the castle's owner.
And that turns out to be the dashing Howl (voice of CHRISTIAN BALE), the same wizard who earlier saved Sophie. He doesn't recognize her, and since she can't tell him what happened to her, she offers to work as his maid and clean up the messy castle. It features a door-based portal to various places and lands, including the war-torn area where Sophie lived. Howl is torn between feeling the need to battle the wizards who now fight for the enemy in the war and his own raging ego and selfishness, especially when his oath is to serve the king and fight in the war.
Thus, Sophie heads off to visit the king's head sorceress, Madame Suliman (voice of BLYTHE DANNER), to find out what's what. As the war continues to worsen and Howl must decide whether to face his obligations, Sophie hopes that someone might help remove the old age spell from her.