Akcja utworu rozpoczyna się w mroźny, mglisty wigilijny dzień w Londynie. Ebenezer Scrooge, bezwzględny, zgorzkniały i obsesyjnie skąpy właściciel kantoru handlowego, odrzuca wszelkie przejawy ludzkiej życzliwości. Przegania kwestarzy zbierających datki na ubogich, twierdząc, że dla biedaków istnieją więzienia i domy pracy (a jeśli mają umrzeć, «niech umierają i zmniejszą nadmiar ludności»), szorstko traktuje swojego siostrzeńca Freda zapraszającego go na świąteczny obiad, a zmarzniętemu kanceliście Bobowi Cratchitowi z niechęcią udziela wolnego na dzień Bożego Narodzenia. Po powrocie do swojego mrocznego, oszczędnie ogrzewanego domu Scrooge doświadcza pierwszego zjawiska nadprzyrodzonego — kołatka u drzwi przybiera rysy jego zmarłego przed siedmioma laty wspólnika, Jakuba Marleya.
W nocy zjawia się duch Marleya, skuty ciężkim łańcuchem z kaset, kluczy, kłódek i ksiąg rachunkowych, który sam wykuł za życia własnym egoizmem i chciwością. Zjawa ostrzega Ebenezera przed podobnym potępieniem i zapowiada wizytę trzech kolejnych Duchów Świąt Bożego Narodzenia. Pierwszy, Duch Wigilijnej Przeszłości, zabiera Scrooge’a do lat dzieciństwa i młodości: ukazuje samotnego chłopca w szkole z internatem, ukochaną siostrę Fan, wesoły bal u dobrodusznego pracodawcy Fezziwiga oraz bolesne zerwanie z narzeczoną Bellą, która odeszła, widząc, że serce Ebenezera opanował «złoty bożek». Drugi, Duch Tegorocznego Bożego Narodzenia, ukazuje radość prostych ludzi, a przede wszystkim ubogą, lecz pełną miłości Wigilię w domu Boba Cratchita, którego ułomny syn, Mały Tim, bez pomocy lekarskiej wkrótce umrze. Duch pokazuje Scrooge’owi dwoje przerażających, zdziczałych dzieci ukrytych pod fałdami szaty — Ciemnotę i Nędzę.
Najstraszniejszą próbą okazuje się spotkanie z Duszem Przyszłych Świąt — niemą, spowitą w czarny całun zjawą wskazującą kościstą dłonią sceny po śmierci nieznanego, powszechnie znienawidzonego człowieka. Scrooge obserwuje handlarzy starzyzną kupujących skradzione z łoża zmarłego prześcieradła i koszulę, obojętność giełdziarzy oraz bezgraniczny żal w rodzinie Cratchitów po stracie Małego Tima. W finale Duch prowadzi Scrooge’a na zapuszczony cmentarz i wskazuje nagrobek z nazwiskiem: Ebenezer Scrooge. Wstrząśnięty bohater pada na kolana, błagając o szansę naprawy życia. Budzi się w wigilijny poranek jako całkowicie odmieniony człowiek: posyła Cratchitowi największego indyka, podwaja mu pensję, wspiera leczenie Małego Tima (dla którego staje się drugim ojcem) i spędza radosne święta u siostrzeńca Freda.