Pumpkin king Jack Skellington (speaking voice Chris Sarandon, singing Danny Elfman), an elegantly attenuated skeleton, has delivered another scary Halloween. But he receives the adulation of Halloweentown with no enthusiasm -- something is missing from Jack's life and he's tired of doing the same old Halloween thing year after year. The missing something might well be Sally (Catherine O'Hara), an animated rag doll who yearns for Jack, but he doesn't notice. (Sally was created by Halloweentown's evil scientist (William Hickey), who keeps her locked up except when she knocks him out by slipping deadly nightshade in his soup.)
After pondering his ennui in a cemetery (disturbing Sally, who's replenishing her supply of deadly nightshade), Jack takes his ghostly dog Zero for a walk in the woods. They come upon a strange circle of trees, each with a door representing a holiday. Jack opens the Christmas door and they're sucked in, landing in Christmastown. Jack is curious about everything he sees there, but finds it all delightful and wants to be part of it.
Back in Halloweentown Jack calls a town meeting, where he describes what he saw in Christmastown. His people don't seem very impressed, so to draw them in, he makes some elements of Christmas -- including "Sandy Claws" (Edward Ivory) -- sound scary. Then he announces that they're taking over Christmas and starts assigning jobs. The evil scientist must whip up some reindeer, Halloweentown's top trick-or-treaters are to kidnap Sandy Claws, and Sally's task is to make Jack a red Santa suit. She tries to tell him that co-opting Christmas is a terrible idea, but he's too wrapped up in his enthusiasm to listen.
The three trick-or-treaters return triumphantly with the Easter Bunny; Jack sends them back and eventually they bring him Sandy Claws (who surprises Jack by having hands rather than claws). Jack directs the trick-or-treaters to take Sandy Claws away and make him comfortable, but they give him to Oogie Boogie (Ken Page) instead.
Meanwhile, Sally has produced a red suit (without a hat, so Jack steals Sandy's) and the evil scientist's skeletal reindeer are hitched to a sleigh full of creepy toys. Sally tries to sabotage his Christmas Eve delivery by adding fog juice to the town well, and it almost works. But the spectral dog Zero, who happens to have a glowing nose, comes to the rescue. Sally deduces that only Sandy Claws will be able to help Jack now, and sneaks into Oogie Boogie's lair in an effort to free him.
Jack sets off in his sleigh, but he doesn't really get Christmas -- his idea of a keen gift for a small child is a shrunken head or a toy duck with sharp teeth that chases its owner -- so he spreads terror and mayhem at every house he visits. He ends up being blown up out of the sky by the terrified populace. Realizing both his mistake and his desire to be the best pumpkin king he can be, he goes back to Halloweentown to find Sandy Claws and set Christmas right.
He surprises Oogie Boogie, frees Sally and Sandy Claws, and unravels Oogie Boogie in a decisive final showdown. Santa Claus scolds Jack about trying to take over a holiday that isn't his, and then sets about magically saving Christmas. Jack and Sally return to town just as Santa Claus flies over and offers the Halloweentownsfolk a bit of Christmas magic: their first snowfall. Jack and Sally share a tender moment in the cemetery, realizing they were always meant to be together.