Buddy Amaral (BEN AFFLECK) is an advertising executive who's trying to get back to Los Angeles from Chicago but finds himself delayed due to bad weather. In the interim, he meets and briefly gets to know several other stranded passengers, including Mimi Praeger (NATASHA HENSTRIDGE), a Dallas businesswoman, and Greg Janello (TONY GOLDWYN), a TV writer.
Flying on free tickets from his airline client, Buddy decides to give his seat to Greg not only so that man can get home to his family for the holidays, but also so that Buddy can have a one-night fling with Mimi.
The next morning Buddy awakens to horrible news - the plane he was supposed to board and on which Greg took his place crashed during the night, killing hundreds of people including Greg.
Across the country, Greg's wife, Abby (GWYNETH PALTROW), gets a call from her distraught mother about Greg being on the plane. Certain that he was supposed to be on a flight the next morning, Abby is grief stricken when she receives the fateful confirmation, and there's only so much her friend, Donna (CAROLINE AARON), can do to console her.
Equally upset and struck with both shock and guilt, Buddy begins drinking heavily, eventually spending time in a drug and alcohol rehab center for his alcoholism. Months later and now sober, Buddy tries to get back to work with his business partner and boss, Jim Weller (JOE MORTON), as well as his new assistant, Seth (JOHNNY GALECKI), a gay, recovering alcoholic.
Despite his progress, Buddy still feels guilty about what happened, and thus sets out to find Greg's widow, now a novice realtor, and see how she and her two young sons, Scott (ALEX D. LINZ) and Joey (DAVID DORFMAN), are faring. Without telling her of his unique connection to her late husband, Buddy does what he can to help out Abby, and their friendship eventually turns into romance. Realizing that their relationship is deepening but still subjected to guilt whenever Abby mentions anything about Greg, Buddy tries to figure out if and when he should tell Abby the truth.