Scrooge a tőle megszokott kicsinyes megvetéssel kezdi a karácsonyt. De mikor három szellem magával viszi egy utazásra, és felfedi előtte az igazságot, nincs más választása: ki kell nyitnia a szívét, hogy helyrehozhassa a dolgokat, mielőtt késő lenne.
Ebenezer Scrooge (Jim Carrey) a tőle jól megszokott gonosz, kicsinyes és zsugori módon kezdi a karácsonyt: gorombán lehordja hűséges alkalmazottját (Gary Oldman) és jóravaló, eleven unokaöccsét (Colin Firth). De jönnek az elmúlt, a jelen és a jövendő karácsonyok szellemei, és magukkal ragadják, hogy megmutassák neki, amit addig sosem akart észrevenni. Sok-sok gonoszságot kell jóvátennie, mielőtt túl késő lesz.