The film begins with 13-year-old Marnie Piper (Kimberly J. Brown) and her mother, Gwen (Judith Hoag), arguing over why she and her younger siblings 12-year-old Dylan (Joey Zimmerman) and 7-year-old Sophie (Emily Roeske) can never go out for Halloween, and why Marnie cannot go to a costume party. Her mom offers no clear explanation. Gwen's mother Aggie (Debbie Reynolds), who is an expert witch, shows up for her annual Halloween visit. The children are happier to see Aggie than Gwen is, as Aggie openly encourages the children to get more involved in Halloween.
Unknown to Marnie, Aggie is intent on training Marnie as a witch. Before heading home, Aggie reads the children a bedtime story called "Halloweentown", a mystical place where witches, vampires and monsters of all sorts live in peace. Sophie points out a drawing of a witch in the book that resembles Marnie; Aggie does nothing to stop Marnie from imagining such a thing. Gwen and Aggie then get into an argument. Gwen insists Marnie will be raised as a normal person and not a witch. Aggie says she disagrees, but actually she is there for another reason: people have suddenly started mysteriously disappearing in her hometown. Gwen thinks they just moved, but Aggie says it is not that simple. Aggie desperately asks for Gwen's help, but Gwen declines. Marnie overhears the argument.
When Aggie leaves to return home, Marnie and Dylan follow her. They see Aggie getting onto a magical bus, and sneak onto it through the back door. When they arrive in Halloweentown, Aggie does not see Marnie and Dylan getting off the bus, and the children lose sight of her. At the same time, Marnie and Dylan realize Sophie snuck onto the bus. They begin looking for Aggie, and are approached by Calabar (Robin Thomas), the Mayor of Halloweentown. He whistles for a cab which is driven by Benny (voice of Rino Romano), a skeleton with a bad sense of humor. The children find their grandmother's home, and against her better judgment, Aggie decides not to take them home immediately. She says she will start Marnie's witch training, but has to take care of "the bad thing" first. She shows her grandchildren what she is talking about: in her cauldron, a vision of a hooded demon appears, laughing maniacally. She says she must activate Merlin's talisman with a spell and potion to defeat the demon.
In town, the family is introduced to Luke (Phillip Van Dyke), a goblin who was made handsome by a shadow demon. He makes a clumsy pass at Marnie, which she turns down on the spot. Gwen arrives in Halloweentown with plans to bring her children home, much to Marnie's objections. Gwen cannot find another bus back to the mortal world and decides to see if the mayor can do anything to help. She is shocked to see that the mayor is Calabar, an ex-boyfriend of hers. Calabar briefly leaves to handle another problem, Gwen and her children see Aggie walking somewhere with Luke. Sensing Aggie might be in trouble, they follow Aggie and Luke to an abandoned movie theater.
Aggie meets the hooded demon in the theater, where Halloweentown citizens have been frozen in time. Aggie declines to give the talisman to the demon. Gwen and the children enter the theater as Luke rushes out in fear. The demon freezes Gwen and Aggie. The children escape, and obtain the necessary ingredients–the hair of a werewolf, the sweat of a ghost, and a vampire's fang–to make the talisman regain its power. They then realize they must install the talisman in the large jack- o'-lantern in the center of the town.
When they arrive to install it, the demon suddenly appears and reveals himself to be Calabar. He starts talking to the townspeople and tries to persuade them to join him and take over the mortal world. With the help of Luke, Marnie slips past Calabar long enough to climb up onto the jack-o'-lantern and try to place the talisman inside. Calabar, noticing her, freezes her. As she is about to pass out, Marnie drops the talisman inside the jack-o'-lantern, which causes it to illuminate. This unfreezes herself and everyone trapped inside the theater, as well as severely weakens Calabar. Gwen, Aggie, and the children confront Calabar and use their combined powers to defeat him. The film ends with the family getting on the bus and blasting off to the mortal world.Kimberly J. Brown as Marnie Piper
Debbie Reynolds as Splendora Agatha "Aggie" Cromwell
Judith Hoag as Gwen Cromwell-Piper
Joey Zimmerman as Dylan Piper
Emily Roeske as Sophie Piper
Phillip Van Dyke as Luke
Robin Thomas as Calabar- the main antagonist of the film.
Rino Romano as Benny
Judith M. Ford as Harriet
Halloweentown was filmed in St. Helens, Oregon, and Scappoose, Oregon.
The film received positive reviews, It has no critic reviews on the review aggregator website Rotten Tomatoes, however, it has an audience score of 72%. Complex Magazine put Halloweentown as number nine on their "The 25 Best Disney Channel Original Movies" list. BuzzFeed stated the first three movies are one of the best things about Halloween.
Halloweentown was followed by three sequels; Halloweentown II: Kalabar's Revenge, Halloweentown High, and Return to Halloweentown.