After winning the heart of Mary (Rachel McAdams), Tim is enjoying a night out with his work-friend Rory when he bumps into Charlotte, his first love. Charlotte invites him back to her room, but Tim does the decent thing and runs back home -- and proposes to Mary.
They have a grand wedding ceremony in Cornwall, and Tim's father tells him he is immensely proud of him, and he is one of only three men he loves (you'll have to watch it to find out who the other two are!).
A little later, Mary gives birth to a girl, Posy. On her first birthday, Kit Kat (Tim's sister) fails to show up at the party - she had been drinking after fighting with her boyfriend again, and crashed her car. Tim feels pity for her, so he breaks the rules and takes her back in time with him to the big New Year's Eve party, when she can avoid the man that will just bring heartache to her life.
When they return to the future, she is happily in love with Tim's childhood friend Jay, but Tim has a nasty shock when Posy is now a little boy. After talking to his father, he learns that he can't travel back before the birth of his child and make big changes, to avoid butterfly effects. Tim undoes the first move, and Posy is back. Tim instead sits with Kit Kat and Mary in the hospital to offer her help.
A little later, Tim learns that his father has cancer. When they sit down for a chat, Tim's father tells him he puts his time travel power to good use to spend more time with family, and to read. And also one secret is to relive each day over, and enjoy it more the second time.
It's the day of the funeral, but even after Tim's father dies, Tim travels back in time to see him - until Mary announces she wants another baby. For nine months Tim sees his dad, but just before the baby is born he knows it'll be the last time. They both travel back to when Tim was a little boy, and spend the day at the beach, being careful not to change anything.
As it ends, Tim doesn't need Time Travel anymore, and enjoys each day as it comes.