Three years after the previous movie, 17-year-old Marnie Piper (Kimberly J. Brown) prepares to begin a new school year. She asks the Halloweentown Council to work toward openness between Halloweentown and the mortal world. She proposes bringing a group of Halloweentown students to her own high school in the mortal world. The Council is initially apprehensive, mostly due to the legend of the Knights of the Iron Dagger: a fanatical knighthood who wanted to destroy all things magical. The Halloweentown Witches' Council, however, agrees to accept the plan after Marnie mistakenly bets "all the Cromwell magic" that her plan will work. If she does not prove she is right by midnight on Halloween, then her entire family will lose their magical abilities. Marnie, regretting what she said to the Council, wants to cancel the program she has made, but her grandmother Aggie (Debbie Reynolds) opposes, saying that they have nothing to fear.
The Halloweentown students arrive and are magically given human appearances to disguise their true non-human natures. School begins with Marnie acting as a tour guide for the exchange group, claiming they are from Canada. Aggie substitute teaches so she can be available in case of need. Cody (Finn Wittrock), a new student, shows a romantic interest in Marnie.
While Aggie proves unable to teach any subject effectively, the Halloweentown students keep to themselves, hiding in the refuge that Aggie magically creates for them in a remote student locker. Marnie gradually encourages the students to join sports teams, school activities, and to make new friends.
Marnie's progress is interrupted by a warning that appears to be from the Knights of the Iron Dagger, then by a magical incident at the mall that results in the Halloweentown students assuming their natural appearances in public. This is followed by a break-in at the secret magical locker and the disappearance of one of the students.
Meanwhile, Marnie's developing relationship with Cody parallels an unexpected romance beginning between Aggie and the school's principal, Phil Flannigan (Clifton Davis). Aggie suspects Cody of being the cause of the trouble, and tries to convince Marnie to halt their relationship, but Marnie in turn suspects Flannigan. They eventually discover that Flannigan is the Knight in question; he was told prior to the students' arrival that he was the last of the Order.
Edgar Dalloway (Michael Flynn), head of the Witches' Council and father of one of the students, is the real root of their problems. He wants to keep Halloweentown isolated from the mortal world, and used Flannigan to ensure the failure of Marnie's project. This, he hoped, would cause a negative reaction in Halloweentown and keep the portal between Halloweentown and the mortal world closed.
The Halloweentown students use the school's Halloween carnival to improve mortal attitudes toward magical folk. Their haunted house depicts the ordinary lives of creatures that have typically been seen as monsters in the mortal world, including displays like the "Monster Tea Party" and ogres "picnicking in their natural setting", which winds up boring the carnival goers. Meanwhile, Marnie's mother, Gwen (Judith Hoag), uses a Witch's Glass to hunt down the missing student imprisoned by Dalloway.
At the school carnival, Dalloway launches magical attacks against the mortal students by bringing the inanimate monsters in the haunted house to life. The ensuing panic spirals beyond Marnie's and Aggie's ability to contain the monsters. Flannigan incites a mob to corner the Halloweentown students. Cody shames the crowd, the students reveal themselves, and the crowd accepts them for who they are. Flannigan also renounces being a knight and accepts Aggie.
Dalloway claims the Cromwell magic, and explains that his son Ethan (Lucas Grabeel) helped with most of the things that happened, but Gwen has shown the evening's events to the Witches' Council. They return the Cromwell magic, Gwen returns with the imprisoned student, and the Council imprisons Dalloway in another Witch's Glass.
The portal between Halloweentown and the mortal world opens inside the haunted house, and crowds of children from Halloweentown cross over to enjoy the carnival together with children of the mortal world. Marnie flies off for a romantic broom ride with Cody. While flying over the carnival, they kiss.Kimberly J. Brown as Marnie Cromwell
Debbie Reynolds as Splendora Agatha "Aggie" Cromwell
Joey Zimmerman as Dylan Cromwell
Emily Roeske as Sophie Cromwell
Judith Hoag as Gwen Cromwell
Lucas Grabeel as Ethan Dalloway
Michael Flynn as Edgar Dalloway
Finn Wittrock as Cody
Eliana Reyes as Cassie
Clifton Davis as Principal Phil Flannigan
Todd Michael Schwartzman as Pete the werewolf
Clayton Taylor as Chester's human disguise
Olesya Rulin as Natalie the pink troll
Bob Lanoue as Bobby the gremlin
Jeff Olson as the six-armed man and member of the Halloweentown High Council
Frank Gerrish as a pumpkin head and member of the Halloweentown High Council
Mowava Pryor as a vampire and member of the Halloweentown High Council
Aaron Justesen as a mummy and member of the Halloweentown High Council
Frank Welker as special vocal effects