Last Christmas termina in estate, con Kate intenta a scrivere sul proprio diario personale mentre è seduta sulla panchina celebrativa dedicata a Tom. Mentre guarda verso l’alto, è pronta a ricominciare la propria vita.
Londra, 2017. Kate (Emilia Clarke) è un aspirante cantante che lavora come elfo in un negozio di addobbi natalizi. Un giorno, mentre si trova al lavoro, conosce Tom (Henry Golding). Dopo l’ennesima audizione fallimentare, la ragazza riceve un invito dallo stesso ragazzo per andare a fare una passeggiata. Ma a causa della sua goffaggine, Kate si dimentica di chiudere il negozio, che viene rapinato quella stessa sera. Suscitando la delusione della signora Natalia (Michelle Yeoh). Sfrattata di casa, la giovane è costretta a tornare a vivere dai suoi genitori Ivan (Boris Isakovic) e Petra (Emma Thompson) e da sua sorella Marta (Lydia Leonard).
Sfruttando il tempo libero con Tom, Kate inizia a fare volontariato per senzatetto nello stesso rifugio dove l’uomo si reca abitualmente, anche se in molti dichiarano di non averlo mai visto. Riusciti a rivedersi, i due passano una notte romantica in cui la ragazza rivela di aver subito un trapianto di cuore l’anno prima. Iniziando a fare opere di bene, oltre che a prendersi cura della propria persona, la giovane inizia a sperare nell’amore. Ma in seguito scopre che il cuore che le è stato trapiantato era proprio quello del ragazzo. Recandosi presso il giardino che frequentava Tom stesso, egli appare davanti a Kate dicendole che apparterrà a lei per sempre.
Due settimane dopo, durante il giorno di Natale, Kate invita la sua famiglia e i suoi amici ad un concerto presso il rifugio. Mentre si esibisce, ella ripensa a tutti gli incontri avuti con lo stesso Tom.