Helen Quilley (Gwyneth Paltrow) gets fired from her public relations job. As she leaves the office building, she drops an earring in the lift and a man picks it up for her. She rushes for her train on the London Underground and misses it. The plot then splits into two parallel universes, the other detailing what would have happened had she caught that train.
In the timeline in which she boards the train, Helen sits alongside James (John Hannah) (the man in the lift) on the Underground and they strike up a conversation. She gets home in time to catch her boyfriend, Gerry (John Lynch), in bed with his American ex-girlfriend, Lydia (Jeanne Tripplehorn). Helen dumps him and moves in with her friend Anna (Zara Turner), and changes her appearance to make a fresh start. James continues to serendipitously pop into Helen's life, cheering her up and encouraging her to start her own public relations firm. She and James fall in love despite her reservations about beginning another relationship so soon after her ugly breakup with Gerry. Eventually, Helen discovers that she is pregnant. Believing it is James' child, she goes to see him at his office. She is stunned to learn from James' secretary that he is married. Upset, she disappears. James finds her on a bridge and explains that he was married but is now separated and planning a divorce. He and his soon-to-be-ex-wife maintain the appearance of a happy marriage for the sake of his sick mother. After she and James declare their love, Helen walks out into the road and is hit by a van.
In the timeline in which Helen misses the train, subsequent services are delayed; she exits the station and hails a taxi. A man tries to snatch her handbag and injures her, so she goes to hospital. She arrives home after Lydia has left and remains oblivious to Gerry's infidelity. Unable to find another PR job, she takes two part-time jobs to pay the bills. Gerry continues to juggle the two women in his life. Lydia, wanting Gerry for herself, makes increasingly aggressive attempts to torment Helen and dropping clues of their affair to her. Helen suspects Gerry of infidelity, but later discovers that she is pregnant. She receives a phone call, allegedly for a job interview with an international PR firm. She tells Gerry the news, but does not manage to tell him of her pregnancy. Helen calls Gerry to her apartment, apparently to break up. Thinking Helen is at her interview, Gerry goes to see Lydia. While at Lydia's, Gerry answers the doorbell and sees Helen standing at the door. Helen is stunned to see Gerry, and Lydia drops the news of her own pregnancy to both. Distraught, Helen runs off and falls down Lydia's staircase.
In both storylines, Helen is taken to hospital and loses her baby. In the timeline where she originally boarded the train, she dies in the arms of her new-found love, James; in the timeline in which she missed it, she recovers and tells Gerry to leave for good. Before waking, she sees brief visions of the alternate Helen's life in a dream.
In the final scene (now taking place in the original "missed train" universe), James leaves the hospital after visiting his mother, and Helen leaves after ending her relationship with Gerry. They meet in the lift, and Helen drops an earring which is picked up by James, mirroring their first encounters. Before the doors close, James tells Helen to cheer up, and repeats his line, "You know what the Monty Python boys say..." Helen (who, in the beginning of the film, assumed the rejoinder to be "always look on the bright side of life.") says, "Nobody expects the Spanish Inquisition". The frame freezes as she and James stare at one another, each surprised by her response.
Finish this line: Nobody expects....
Spanish Inquisition