Victor (Douglas Henshall) is an aspiring actor, living with his longtime girlfriend, Sylvia (Lena Headey) in the Notting Hill area of London. But he has an affair with another girl and, at first convinces Sylvia that it didn't happen, but then confesses the truth. She leaves him, and finds a new lover, Dave (Mark Strong). Victor is racked with grief and depression for weeks.

He tearfully tells his story to an attractive bartender, Diane (Elizabeth McGovern), who listens sympathetically and then gives him a tattered red umbrella to take out into the rainy evening. He drunkenly falls into a trash dumpster where he is found by two Spanish trash collectors. They see he needs their help, and take him to a huge junk yard. They conduct a mysterious ceremony with the blindfolded Victor, until he collapses, asleep.

When he awakens, he discovers he has gone back in time to the day he'd made his fateful confession. Given the opportunity to make new choices, he breaks off the relationship with the woman, and returns to his apartment where Sylvia awaits.

But even with this "clean start", he begins to realize that fate may not be so easily foiled. Despite his efforts to prevent such a meeting, they are eventually joined at dinner by Dave and Sylvia's girl friend, Alison (Charlotte Coleman). Sylvia and Dave are attracted to each other, and are soon carrying on their own affair. Sylvia tells Victor that she is moving out to be with Dave.

Victor returns to the bar, but there is a different bartender, Louise (Penélope Cruz), as Diane has not yet been hired. He keeps returning, day after day, hoping to find Diane, but, in the meantime, becomes close with Louise. They fall in love, and Victor's acting career begins to take off as he lands a leading role on a television soap opera.

Sylvia finds that Dave is too engrossed in his work to give her the attention she craves, and she regrets having left Victor. She goes to the theatre where the BAFTA award ceremony is in progress, and asks an usher to deliver a note to Victor, in the audience waiting for the winner in his category to be announced. But, assuming he won't win anyway, he goes to the lobby and talks to her. He explains, to her utter confusion, how he made mistakes but, through his second chance opportunity, corrected his life and was now in love with Louise. While they are talking, his name is announced inside as the winner, and his friend Freddy (Neil Stuke) happily fills in for him with a long-winded acceptance speech.

As Sylvia prepares to leave into the rainy night, an usher gives her the same tattered red umbrella that Victor had used. She sits on a park bench, where she is joined by the two Spanish trash men.