In a house by the sea in Cornwall live Tim Lake (Domhnall Gleason), his father James (Bill Nighy), his mother Mary (Lindsay Duncan), his absent-minded Uncle Desmond (Richard Cordery), and his free-spirited sister Katherine (Lydia Wilson), known as Kit-Kat. On Tim’s 21st birthday, his father informs him that the men in his family have the ability to travel back in time and re-experience events in their lives. James tries to discourage him from using his power to make money, and Tim decides to use his to find Love.
The next summer, Kit Kat’s friend Charlotte (Margo Robbie) visits. Tim falls for her immediately but waits until the end of the summer to tell her. She says he should have told her earlier. So, he travels back to the middle of the summer and tries again, but she tells him to wait for the last day. He concludes that she is not really interested in him.
He moves to London to study law and lives with a friend of his father named Harry (Tom Hollander), an angry playwright. In a restaurant, Tim meets Mary (Rachel McAdams). They flirt and she gives him her phone-number. When he gets home, he finds that Harry’s play has been a flop because an actor forgot his lines. Tim goes back in time to help and the play is a triumph, but because he did that, the evening with Mary did not happen.
He remembers that Mary is obsessed by Kate Moss and he meets her a week later at a Kate Moss exhibition, but she has a boyfriend now. So, he goes back and meets her first. Soon Tim moves in with Mary. He runs into Charlotte again, who seems interested in him now, but he turns her down. He proposes to Mary and eventually they have a daughter named Posy (various child actors at different ages).
Kit Kat is injured crashing her car on Posy’s first birthday. Tim goes back and prevents the crash and also changes her relationship with Jimmy (Tom Hughes). When he returns to the present, he finds that instead of Posy they have a son. His father points out that changing events before a child’s birth may change the conception. Tim accepts that he cannot change his sister’s life and allows the crash to happen. Posy is born and he and Mary change Kit Kat’s life in the current time. She settles down with nice-guy Jay (Will Merrick) and has a child of her own. Tim and Mary have another of their own.
Tim’s father has cancer and that cannot be changed because going back that far would change many lives. His father has been travelling back to extend his life and spend more time with his family. He advises Tim to live each day twice. Tim’s father dies, but Tim travels back to see him now and then. Mary tells Tim she wants a third child, but that will prevent him from seeing his father again. He tells his father and they travel back one more time to relive a fond memory from Tim’s childhood. Mary gives birth to a baby girl. Tim realizes he can never see his father again and decides not to time travel at all and just enjoy life.
The film was written and directed by Richard Curtis and it was successful both monetarily and with the critics, especially in South Korea, where it was a great hit. Curtis called it an anti-time-travel movie as it concludes that time-travel cannot actually solve your problems. It was criticized for the inconsistencies of its time-travel rules, but audiences hardly cared because the film was so sweet and funny. Personally, I could watch and listen to Bill Nighy all day. Domhnall Gleason is Irish, Rachel McAdams is Canadian, and Margot Robbie is Australian, so none of them is English, but the movie, particularly its humor, is about as English as a film could be. The Restaurant Dans le Noir is kept blacked out, the waiters cannot see, and nobody knows what they are being served.