Ebenezer Scrooge, un avaro e spietato creditore, si comporta in modo avido e taccagno anche alla vigilia di Natale. L’uomo rifiuta l’invito al pranzo del giorno dopo del suo allegro nipote Fred e tutte le buone novelle riguardanti la festività che il giovane gli propina. In più, Scrooge urla a due gentiluomini che gli chiedono di versare una somma per gli indigenti e subissa di lavoro il suo impiegato, Bob Cratchit.
Quella notte, il precedente socio in affari di Scrooge, Jacob Marley, morto sette anni prima, gli fa visita sotto forma di spettro. Il fantasma ha vagato dal momento della sua morte come punizione per essere stato ossessionato, mentre era in vita, dagli affari e non dalle persone. Marley visita l’ex socio per metterlo in guardia e, forse, per salvarlo dalla sua stessa fine. Il colloquio tra i due si conclude quando il fantasma gli dice che tre Spiriti gli faranno visita le tre notti successive.
Scrooge si addormenta e poi si sveglia trovandosi di fronte lo Spirito del Natale passato, una figura anziana e dalle sembianze minute. Quest’ultimo mostra al creditore momenti del suo passato che seguono la crescita di Ebenezer: da quando era un ragazzo, solo ma con ancora la possibilità di essere felice, a un giovane uomo che presenta le prime tracce di avidità, sentimento che potrebbe in futuro negargli l’amore. Scrooge mostra emozioni ritrovate nel rivivere quelle scene e addirittura piange spesso identificandosi con il giovane sé stesso dimenticato dagli altri.
Dopo la prima visita, Ebenezer si addormenta e viene poi svegliato dallo Spirito del Natale presente, un gigante con l’aspettativa di vita di un giorno. Il fantasma mostra al creditore diverse scene attuali di gioia natalizia e carità e poi fa vedere all’uomo la casa della famiglia Cratchit. Lo Spirito informa Scrooge che se il futuro non cambierà, il piccolo Tim, giovane figlio storpio e di buon cuore del suo impiegato, morirà. Poi, mostra a Ebenezer la festa a casa di Fred. Alla fine, un bambino lacero e una bambina strisciano fuori dalla veste dello Spirito. Questi li appella “Ignoranza” e “Miseria” e dice a Scrooge di fare attenzione al primo.
Il silenzioso e nerovestito Spirito del Natale futuro rimpiazza d’improvviso il fantasma precedente e mostra a Scrooge diverse scene in cui svariate persone discutono della morte di qualcuno. Eppure, nessuna di queste sembra addolorata per la perdita, anzi molte ne sono felici. Tuttavia, Scrooge non sa chi sia il defunto. L’uomo viene poi a sapere che il piccolo Tim è morto e che, sebbene la triste notizia, i Cratchit hanno mantenuto la loro unità e sentimento d’amore. Alla fine Ebenezer scopre che è lui l’uomo morto e della cui dipartita le persone sembrano provare solo sollievo. A questo punto, il creditore esprime la speranza che queste scene possano essere cambiate e promette di fare tesoro delle lezioni del passato, presente e futuro nel suo approccio allo spirito del Natale.
Scrooge si sveglia in camera sua e apprende che l’intera avventura è durata una sola notte e non tre, pertanto è il giorno di Natale. Oltre a sorridere ed esprimere cordialità a chiunque veda, manda un grosso tacchino ai Cratchit, dona una considerevole somma ai gentiluomini che ha insultato il giorno prima, passa momenti splendidi alla festa di Fred e, il giorno successivo, dà un aumento al suo impiegato. Ebenezer prosegue con i suoi modi cortesi anche dopo Natale, divenendo amico di tutti e trasformandosi in un secondo padre per il piccolo Tim che, nel frattempo, non è morto. Non vedrà più i fantasmi, ma manterrà lo spirito del Natale vivo nel suo cuore come tutte le altre persone.