Princess "Odette" and Prince Derek are on their way to Queen Uberta's castle to celebrate their first Christmas together. Unbeknownst to them, the evil sorcerer Rothbart has returned from the dead as a spirit and enlisted a black cat named Number 9 for help by promising him nine extra lives. Number 9 lures Derek to the cellar of Uberta's castle where he opens a chest with the initial R on it. When Derek leaves, Rothbart emerges from the chest as a ghost. From here, Rothbart starts his plan to destroy the kingdom's Christmas spirit, the only thing more powerful than the Forbidden Arts, as this will give him the power to be revived in bodily form. Rothbart is able to cast minor spells that cause people to fight; he does this to Queen Uberta and Lord Rogers, and later to the villagers until almost the entire village is in disharmony.
Derek and "Odette" learn of Rothbart's return as a ghostly spirit when wind chimes playing "Far Longer than Forever" make him visible and hold him immobile. They set up chimes all around the castle, but Rothbart eventually re-enlists the help of Bridget (his hag henchwoman from the first film who had turned good) and she helps remove the wind chimes for him.
As part of the Christmas festivities, Uberta and Rogers are staging musical performances, but because of Rothbart's spell they have become aggressive and competitive with each other. "Odette", who is staging her own song, invites the children to perform "Christmas is the Reason" which momentarily weakens Rothbart's power over Uberta and Rogers. "Odette" follows up on this by inviting Uberta and Rogers to give gifts and food to the poor. This time the good will breaks the spell on the whole kingdom, and Rothbart is severely weakened.
Rothbart's last chance to ruin the kingdom's Christmas spirit is to sabotage the royal Christmas tree. He sends Number 9 to steal one of the Christmas lights, and Rothbart casts a dark spell on it that will destroy the tree. Derek learns of this plan thanks to Bridget, who has double-crossed Rothbart and traps him inside a giant chime.
Derek rushes back to the Christmas Eve party to stop the tree from being lit, but they are too late. The enchanted light bulb bursts the tree and its ornaments into flames. Rothbart becomes fully restored to his physical body, takes Uberta's crown which he turns into his own, and kidnaps "Odette" where he takes her back to Swan Lake.
At Swan Lake, Rothbart once again turns "Odette" into a white swan and traps her inside a cage made of roots, just as Speed, Puffin and Jean-Bob arrived. Puffin tries to attack Rothbart, but the evil sorcerer knocks the bird down and turns him into a Christmas ornament. He then casts a spell on the moonlight, so that when it touches "Odette"'s wings, she will turn into a golden swan-shaped ornament forever. Derek arrives to rescue "Odette" and Rothbart has assumed the form of the Great Animal again to fight Derek. At first Derek is overpowered, but "Odette" starts singing "The Season of Love," which weakens Rothbart until he bursts into flames and dies. With Rothbart defeated for a second time, "Odette" changes back into a human and Puffin returns to his normal self. Derek dies in her arms due to his injuries, but a distraught "Odette" sings again, the great spirit of Christmas returns him to life and restores the royal Christmas Tree. At the Christmas party, the kingdom puts up a new Christmas ornament on the tree, honoring Derek and "Odette".