NOTE: This spoiler was submitted by Jeremy

Yugoslavia, 1999 – The Andrich family is having a Christmas service where little Katarina (Madison Ingoldsby) is singing in the choir. Her parents Petra (Emma Thompson) and Ivan (Boris Isakovic), plus sister Marta (Lucy Miller) watch and admire her singing, while Marta is admiring one of the other choir girls.

London, 2017 – Katarina now goes by Kate (now played by Emilia Clarke). She has become distant from her family, but especially Petra and Marta (now played by Lydia Leonard). She hooks up with a guy at a bar and sleeps at his place. When she uses his shower in the morning, she is greeted by the man’s wife, who kicks Kate out onto the street and leaving her to lament about why her life is bad.

Kate works at a Christmas shop as an elf, working for a woman who goes by “Santa” (Michelle Yeoh), who sees potential in Kate but is annoyed at her constant screw-ups. While at work, Marta visits Kate and forces her to step outside and talk to their mom, even though Kate doesn’t want to. Later on, Kate meets a man named Tom Webster (Henry Golding). Kate finds him charming, if not a bit odd. Their moment is then ruined by a bird pooping on Kate’s face.

Outside of work, Kate tries to crash with her friend Jenna (Ritu Arya) and her husband Rufus (Ansu Kabia), the latter not being too fond of Kate after she accidentally burned his model ship. Kate tries to make an audition for a theater production, but she arrives late and is forced to sing a capella, and the judges dismiss her.

At the shop, a Danish man (Peter Mygind) enters. He and Santa appear to share a connection, which Kate notices. She later leaves work after accepting an invite to go out with Tom. They go out on the town, which proves to be fun for Kate. She learns that Tom volunteers at a homeless shelter in his spare time. The night ends with them entering an ice skating rink. They have a good time until a security guard kicks them out.

In the morning, Kate goes to the shop to find that it was broken into. Kate realizes she forgot to properly lock up before going out with Tom. Santa already knew this and says she broke a window to make it look like a break-in just for the insurance. She scolds Kate and says she is going to give her another chance even though she shouldn’t. To make matters more complicated, Jenna and Rufus kick Kate out after one too many screw-ups.

On another outing with Tom, the two end up going back to his place. Kate tells him about an illness she had in which she required a heart transplant and it made her feel bad about herself, in that she was “half-dead” due to needing help. Kate then asks Tom to kiss her goodnight, which he does. However, when she tries to see him again, Tom tells her that she cannot keep being dependent on him, which just makes her upset.

Kate joins her family for dinner. Marta makes things tense by suggesting that Kate always acts helpless after the illness, while Kate outs Marta by saying that she has a girlfriend named Alba (Jade Anouka). Petra and Ivan are also called out for, respectively, being smothering and also barely being home since Ivan works as a cab driver, but Kate thinks he takes the hours that he does to get away from his family.

Kate goes to the homeless shelter to look for Tom. One of the men working there doesn’t appear to know who Kate is talking about. She ends up getting roped into volunteering and helping out, and later even sets up a bucket outside while dressed as an elf to sing Christmas carols.

Kate starts to try and do right by other people, starting with her family. She apologizes to Marta and finally meets Alba, albeit under tense circumstances. Marta forgives her sister. Later on the bus, Kate sees a Yugoslavian couple get harrassed by a racist guy. Kate sits by them and speaks to them in their native tongue, telling them that they are welcome there, and she introduces herself as Katarina. She even does better at work and bonds with Santa, who tells her that she only uses that nickname for whatever job she has, as nobody else is going to know how to pronounce her name. Additionally, she tells Kate that she is seeing the Danish man, but since she can’t pronounce his name either, she simply refers to him as “Boy”.

Kate later goes by Tom’s apartment to visit him. She meets a realtor who is putting the place up on the market. Kate thinks Tom is selling the place, but the realtor informs her that the previous owner has been dead for months. He mentions that his name was “Webster,” and that he passed away a year ago. We see a flashback in which Tom rode his bike through the streets and was hit by a truck. As he was a donor, his heart was transplanted to Kate. In other words, LAST CHRISTMAS, Tom gave Kate his heart. Kate is devastated and sits by the bench that she frequented with Tom, which turns out to be a memorial for him. Tom’s spirit visits Kate one last time to give her reassurance that she will be fine.

Sometime later, Kate has helped put on a Christmas show with the help of the patrons of the homeless shelter. She wears a festive dress as her family comes to see her, and they all perform “Last Christmas.”

Brought to you by

Kate is a cynical young woman whose relationship with her family is strained. She works as an elf for a year-round Christmas shop, and she sleeps wherever she is allowed. Things change when she meets an odd but charming man named Tom. He shows Kate a good time around the holidays, but also reminds her that she cannot always be dependent on him.

It turns out that Tom has been dead the whole time. A year earlier (or, "last Christmas"), he died while riding his bike, and Kate, who suffered from an illness that required a heart transplant, was given his heart since he had a donor card. She has been seeing his spirit the whole time, but he has influenced her to be a better person.

Kate repairs her relationships with her friends and family, and even volunteers at a homeless shelter. Together, they put on a festive Christmas show for her family and others to see.