O Natal se aproxima e, como sempre, Ebenezer Scrooge (Jim Carrey) mantém seu desprezo pela data. Milionário e muito mesquinho, ele só pensa em dinheiro e não dá espaço para a emoção em seu coração, maltratando Bob Cratchit (Gary Oldman), seu fiel assistente, e ignorando seu sobrinho Fred (Colin Firth). Com a morte de seu sócio, Ebenezer recebe a visita de três fantasmas do Natal: do passado, do presente e do futuro. Cada um deles, levará o velho ranzinza para uma viagem que o ajudará a refletir melhor sobre sua vida passada e a escolha que fará para o futuro.