Akcja utworu rozpoczyna się w wigilię Bożego Narodzenia. Głównym bohaterem jest Ebenezer Scrooge. Człowiek ten jest bardzo bogaty, ale skąpy. Razem ze swoim wspólnikiem prowadzili interesy. Mieli dom handlowy. Wspólnik Marley zmarł w wigilię Bożego Narodzenia siedem lat temu. Ebenezer był jego jedynym spadkobiercą.
Scrooge był samotny, ale mu to nie przeszkadzało. Skupiał się na pracy i zarabianiu pieniędzy. Wszyscy uważali, że jest gwarancją solidności, ale wiedzieli, że nie lubi ludzi. Żył sam i dobrze mu z tym było. W wigilię odwiedził go jego siostrzeniec. Chciał życzyć wesołych świąt i zaprosić do siebie. Chłopak nie był bogaty, ale czuł się szczęśliwy, bo ożenił się z miłości. Scrooge był wobec niego złośliwy i wypomniał mu jego biedę. Siostrzeniec znalazł jednak zrozumienie u pracownika Scrooga. Mężczyźni pożyczyli sobie wesołych świąt. Pracownik prowadził skąpcowi księgi rachunkowe – był buchalterem. Marnie zarabiał. Pomieszczenie, gdzie pracował – kantor, było słabo ogrzewane. Scrooge na wszystkim oszczędzał. Mężczyzna musiał pracować, gdyż miał na utrzymaniu wielodzietną rodzinę.
Do Scrooga przyszli dwaj panowie z prośbą o datek na biednych i potrzebujących. Skąpiec odmówił. Jedyne na co się tego dnia zgodził, to pozwolił swojemu pracownikowi nie przychodzić do pracy w dzień Bożego Narodzenia.
Po wyjściu z kantoru Scrooge zjadł tani obiad, przeczytał gazetę, zaplanował swoje inwestycje na pojutrze i ruszył do domu. Mieszkał w ponurej kamienicy na uboczu. Był jej jedynym mieszkańcem, gdyż resztę pomieszczeń wynajmowano na biura sklepowe i kantory. Bardzo się zdziwił, gdy wchodził do domu. Młotek u drzwi (zamiast dzwonka) wyglądał inaczej – miał twarz Marleya. Scrooge przez te wszystkie lata w ogóle o nim nie myślał, więc przestraszył się trochę tego, co zobaczył, ale doszedł do wniosku, że to było przewidzenie. Wszedł i oświetlił sobie drogę świecą łojową, którą miał przy sobie. Wszedł do mieszkania. Sprawdził jeszcze, czy nie ma nikogo pod stołem, pod kanapą i gdy się upewnił, że jest sam, zamknął drzwi od środka i przebrał się w szlafrok. Zasiadł przed kominkiem, w którym palił się niewielki ogień. Nie mógł jednak zapomnieć o swoim wspólniku. Nagle zauważył, że dzwonek nad kominkiem zaczyna się poruszać, w końcu wszystkie dzwonki w mieszkaniu zaczęły głośno dzwonić. Scrooge przypomniał sobie, że niania mówiła mu, że w domu, gdzie są duchy, dzwonią dzwonki. Usłyszał, jak otworzyły się drzwi z piwnicy i odgłos łańcuchów zbliżający się do jego mieszkania. W końcu zobaczył widmo Jakuba Marleya. Zgasł ogień na kominku. Duch, który był opasany łańcuchem ciągnącym się za nim jak ogon, na prośbę Scrooga usiadł naprzeciw niego. Powiedział mu, że musi cierpieć za swe postępowanie. Widmo musi tułać się po świecie i dźwigać ten ciężki łańcuch, który sam sobie wykuł swym złym postępowaniem wobec bliźnich. To jest jego kara za to, że nie liczył się z ludźmi, nie dbał o nich, bo najważniejsze za życia były pieniądze i interesy. Przyszedł przestrzec Ebenezera, że jeśli się nie zmieni, będzie cierpiał tak jak on. Zapowiedział też, że odwiedzą Scrooge’a trzy duchy. Pierwszy przybędzie następnego dnia, gdy zegar wybije pierwszą po północy, drugi następnej nocy o tej samej godzinie, trzeci kolejnej nocy, gdy zegar wybije północ. Duch zniknął, a Ebenezer zasnął.
Zbudził się o północy. Wydawało mu się, że zasnął po drugiej w nocy, więc skoro była dwunasta musiałby przespać cały dzień. Rozmyślał nad tym i tak zastała go pierwsza w nocy. Wtedy pojawiał się duch wszystkich ubiegłych wigilii Bożego Narodzenia. Wyglądał jak dziecko, a jednocześnie podobny był do starca. Miał białe włosy do szyi, ale twarz dziecka z rumieńcami. Ramiona długie i silne, a nogi nagie. Ubrany był w białą tunikę przewiązaną pasem rzucającym żywe światło. W ręce trzymał zieloną gałązkę choinki. Tunika przybrana była girlandami letnich kwiatów. Z głowy ducha wytryskiwało światło, które czasem mógł przysłonić spiczastym gasilnikiem. Zaczęli rozmawiać. Duch przedstawił się. Kazał Scrooge’owi iść za sobą. Chwycił go za rękę i poprowadził do okna. Skąpiec wystraszył się, zdał sobie sprawę, że nie jest w stanie podróżować jak jego przewodnik. Wtedy duch położył mu rękę na sercu i powiedział, żeby się nie bał. Zaczęła się ich podróż.
Miasto zniknęło i pojawiła się droga wśród pól. Ebenezer rozpoznał okolicę – było to miejsce, gdzie spędził dzieciństwo. Bardzo się wzruszył. Spotkał swoich kolegów, którzy wzajemnie życzyli sobie wesołych świąt. Oni jednak nie widzieli ani jego, ani towarzyszącego mu ducha. W końcu skąpiec i zjawa dotarli do pustej szkoły, gdzie samotnie, czytając Przygody Robinsona Cruzoe, siedział chłopiec. Scrooge natychmiast rozpoznał w nim siebie sprzed wielu lat. Zjawił się ktoś jeszcze – dziwaczny człowiek, który przyszedł pocieszyć samotne dziecko – Ali Basza. Ebenezer przypomniał sobie, że tak właśnie wyglądała jedna z jego wigilii.
Skąpiec pożałował, że nie dał dziecku śpiewającemu kolędy żadnych pieniędzy.
Duch pokazał mu kolejny obraz. Młodzieniec chodził samotnie po klasie, gdy nagle drzwi się otworzyły i wbiegła dziewczynka. Była to młodsza siostra Ebenezera, która z wielką radością zakomunikowała mu, że tata się zgodził, żeby przyjechał na święta i ona ma go przywieźć.
Skąpiec zawstydził się, że nie utrzymuje kontaktów z jedynym dzieckiem swojej siostry.
Kolejna scena rozgrywała się już w mieście. Ebenezer był już subiektem u Fezziwiga. Jego pracodawca urządził zabawę dla swoich pracowników i rodziny. Tańcom i śmiechom nie było końca. W końcu, gdy wybiła godzina jedenasta, gospodarze zaczęli żegnać gości, życząc wszystkim wesołych świąt.
Scrooge uświadomił sobie, że jest złym pracodawcą dla swego buchaltera.
Ostatni obraz był najbardziej przykry dla Scrooga. Ujrzał młodą dziewczynę i siebie już dorosłego mężczyznę. Była to chwila, kiedy kobieta zwolniła go z danego jej słowa. Zerwała z nim, bo dla niego ważniejsze były pieniądze niż ona. Duch ukazał mu jeszcze tę samą dziewczynę, ale już wiele lat później. Miała kochającego męża i liczną gromadkę dzieci. Działo się to siedem lat temu. Wtedy, gdy Marley umierał, Scrooge siedział w swoim kantorze i pracował.
Tego już było za dużo dla Ebenezera. Chciał już wrócić do domu. Nie chciał już nic widzieć. Zauważył, że światło z głowy ducha świeci coraz jaśniej. Tego już było za dużo, chwycił za gasilnik i wtłoczył mu na głowę. Duch zniknął pod kapeluszem, a zmęczony Scrooge zasnął.
Gdy się zbudził, wiedział, że wkrótce pojawi się drugi z duchów. Nie nadchodził. Ebenezer zauważył czerwone światło w drugim pokoju. Poszedł tam. Jego salon był całkowicie odmieniony. Wszędzie wisiały świąteczne dekoracje. W kominku palił się ogień. Na podłodze leżały góry szynek, indyków, ryb. Na takim właśnie tronie siedział wesoły olbrzym. Przedstawił się, że jest duchem obecnej wigilii Bożego Narodzenia. Miał na ramionach niedbale zarzucony zielony płaszcz obszyty białym futrem. Jego nogi były nagie. Na głowie miał wieniec ze świeżej choiny poprzetykanej soplami lodu. Długie, kręcone włosy opadały na ramiona. Twarz miał szczerą, a oczy jasne i wesołe. U pasa wisiał zardzewiały miecz. W ręce trzymał zapaloną pochodnię przypominająca róg obfitości. Gdy Scrooge dotknął jego sukni rozpoczęła się ich podróż po Londynie 1861 roku. Krążyli po mieście, wszędzie, gdzie się pojawili nastawała radość i zgoda, gdyż krople spadające z pochodni miały niezwykłą moc.
Duch zaprowadził Scrooga do domu jego buchaltera, Roberta Cratchita. Mieszkał w bardzo skromnych warunkach. Miał liczną rodzinę. W dzień wigilii żona z jedną z córek – Belindą zajmowała się przygotowaniem kolacji. Pomagał też syn Piotr. Dwoje najmłodszych – dziewczynka i chłopiec nie mogli się doczekać na wigilijne przysmaki. W końcu pojawiła się starsza córka Marta, która była szwaczką. Syn Piotr szukał pracy. Córka Belinda pomagała w domu. Dwoje najmłodszych – dziewczynka i chłopiec także. Jako ostatni w domu zjawił się Bob Cratchit ze swoim niepełnosprawnym synem – Tomaszkiem. Zasiedli do kolacji. Była gęś, a potem budyń. Bob życzył wszystkim wesołych świąt i wzniósł toast za Scrooga, co jednak nie spodobało się członkom rodziny.
Scrooge dowiedział się od ducha, że to ostatnie święta z Tomaszkiem, następnych nie dożyje. Poprosił ducha, by ocalił to dziecko.
Odwiedzili osadę górników, latarnię morską, statek – wszędzie ludzie życzyli sobie wesołych świąt.
Zawitali też do domu siostrzeńca Scrooga – Alfreda. Chłopak opowiadał młodej żonie i przyjaciołom o spotkaniu z wujem. Było mu żal tego bogatego człowieka, który choć miał wszystko był biedny, gdyż sam zrezygnował z przyjaźni i bliskości z ludźmi. Tu też wzniesiono toast za pomyślność Scrooga. Ebenezer był zachwycony. Wędrowali dalej – wszyscy życzyli sobie wesołych świąt. Zbliżała się północ, włosy ducha posiwiały. Scrooge zauważył, że spod płaszcza zjawy coś wystaje. Okazało się, że jest to dwoje dzieci – nędza i ciemnota. Ebenezer stwierdził, że potrzebują opieki, lecz wybiła północ i duch zniknął. Pojawiła się nowa zjawa. Okryta była długą, ciemną szatą. Nic nie mówiła tylko wskazywała ręką. Skąpiec pozwolił jej się prowadzić. Zatrzymali się koło grupki bankierów, którzy rozmawiali o czyjejś śmierci. Kolejni mężczyźni napotkani na ulicy też mówili o nieboszczyku. Nikt go nie żałował. Nikt nie mówił o nim nic pochlebnego, a wręcz przeciwnie.
W końcu znaleźli się w ciemnym, pustym pokoju, gdzie na łóżku spoczywała postać przykryta czarnym suknem. Scrooge’owi zabrakło odwagi, by odsłonić twarz zmarłego. Ebenezer poprosił, by duch pokazał mu kogoś komu śmierć tego człowieka nie była obojętną.
Duch zaprowadził go do rodziny, która miała długi u zmarłego. Ludzie cieszyli się, że mają czas na spłatę i wierzyli, że spadkobierca nie będzie tak bezduszny jak nieboszczyk.
Scrooge był tym bardzo poruszony, poprosił widmo, by pokazało mu, że śmierć może być inaczej przeżywana. Wtedy zjawa zaprowadziła go do domu buchaltera Boba. Tomaszek już nie żył, wszyscy bardzo to przeżywali. Robert codziennie chodził na gród zmarłego dziecka. Opowiadał swojej rodzinie o spotkaniu z siostrzeńcem Scrooge’a, który zaoferował swą pomoc i chciał nawet dać pracę Piotrowi.
W końcu skąpiec z duchem znaleźli się na cmentarzu, gdzie był zapuszczony grób, a na tablicy widniał napis Ebenezer Scrooge. Zrozumiał, co się stanie, jeśli się nie zmieni. Wiedział już, że nie chce, by tak wyglądało jego życie.
Gdy się zbudził, dziękował Marleyowi za ostrzeżenie i naukę. Okazało się, że te wszystkie wizyty duchów zdarzyły się w ciągu jednej nocy. Wyjrzał przez okno. Dowiedział się, że jest Boże Narodzenie. Zaczął się szybko ubierać. Kazał kupić największego indyka i odesłać strawę do swojego buchaltera. Gdy wyszedł z domu, uśmiechał się do ludzi, a ci życzyli mu wesołych świąt. Gdy napotkał jednego z dżentelmenów, którzy dzień wcześniej byli u niego po datek, przeprosił za swoje zachowanie i zaoferował znaczną sumę pieniędzy na potrzebujących. Gdy pojawił się w domu siostrzeńca, ten przyjął go z wielka radością. Ebenezer okazał się duszą towarzystwa – nie tylko sam się śmiał, ale rozweselał też innych. Zaprosił wszystkich gości do siebie, jak tylko wyremontuje mieszkanie.
Następnego ranka przyszedł wcześniej do kantoru, by przyłapać swojego pracownika na spóźnieniu. Udało mu się. Jak zwykle z groźną miną upomniał go, gdy Bob zaczął się tłumaczyć i przepraszać, Ebenezer zaczął się śmiać i życzył mu wesołych świąt. Podwoił Robertowi pensję, nakazał rozpalenie porządnego ognia w kominku. Postanowił też zatrudnić Piotra w kantorze.
Scrooge się bardzo zmienił. Był dobrym i szanowanym człowiekiem. Dla Tomaszka stał się drugim ojcem. Utrzymywał bliskie kontakty z rodziną i przyjaciółmi. Nikt tak jak on nie świętował Bożego Narodzenia. Zrozumiał, że najwięcej radości przynosi dzielenie się z innymi tym, co się ma i wzajemna miłość.