Ebenezer Scrooge (Dagobert Duck, prädestiniert für die „Rolle“, da er im Original Scrooge McDuck heißt) ist ein alter, selbstsüchtiger Geizkragen. Selbst als sein Neffe Fred (Donald Duck) ihn bittet, ihn an Weihnachten zu besuchen, lehnt er ab („Humbug!“). Eines Nachts erscheint ihm sein alter Partner Marley (Goofy) und führt ihm das Schicksal vor Augen, das er erlitten hat und das Scrooge noch erleiden werde. Marley kündigt ihm auch drei Geister an, die in der Nacht noch erscheinen würden.
Der Geist der vergangenen Weihnacht (Jiminy Cricket, die Grille aus Pinocchio) führt Scrooge zu einem vergangenen Weihnachtsfest zurück. So sieht Scrooge auch seine alte Liebe Isabel (Daisy Duck) wieder. Der erste Geist verschwindet, der zweite erscheint.
Der Geist der gegenwärtigen Weihnacht (Willie, der Riese aus Micky und die Bohnenstange) zeigt ihm die gegenwärtige Weihnacht, so sieht Scrooge die Familie seines Angestellten Bob Cratchit (Micky Maus und Minnie Maus mit Kindern) und bemerkt, dass die Cratchits in Armut leben müssen, weil Scrooge nur ein kümmerliches Gehalt zahlt, dabei aber frohen Herzens sind.
Der Geist der künftigen Weihnacht (Kater Karlo) zeigt ihm, was geschehen wird, wenn Scrooge sich nicht ändert. Scrooge will ein besserer Mensch werden.