Sam Wheat (PATRICK SWAYZE) and Molly Jensen (DEMI MOORE) are deeply in love. After they are mugged walking home from an evening at the theater, Sam is mortified to discover that he has been shot dead. When Molly, cradling his body in her arms, pleads for him not to leave her, Sam's ghost stays behind, ignoring the light that beckons him.
But there's nothing much that he can do among the living. He has no physical form, cannot touch or communicate with Molly or others. However, as he observes life continuing, Sam soon discovers that his death was no accident. He was murdered, and to make matters worse, the killer, Willie Lopez (RICK AVILES), is after something he thinks is in Molly's possession. Sam follows the killer to learn that his best friend and co-worker Carl Bruner (TONY GOLDWYN) is somehow mixed up in this.
Sam, frustrated by his inability to act, eventually meets Oda Mae Brown (WHOOPI GOLDBERG), a charlatan psychic who bilks gullible people out of their money by pretending to contact their dead relatives. But for some reason, she can actually hear Sam and he decides to use her to warn Molly and stop Carl and Willie from carrying out their plans.