Frank Chambers (Jack Nicholson) a drifter, stops at a depression-era rural California diner in the hills outside Los Angeles for a meal and ends up working there. The diner is operated by a young, beautiful woman, Cora Smith (Jessica Lange), and her much older husband, Nick Papadakis (John Colicos), a hardworking but unimaginative immigrant from Greece.
Frank and Cora start to have an affair soon after they meet. Cora is tired of her situation, married to an older man she does not love, and working at a diner that she wishes to own and improve. She and Frank scheme to murder Nick to start a new life together without her losing the diner. Their first attempt at the murder is a failure, but they succeed with their second attempt.
The local prosecutor suspects what has actually occurred but does not have enough evidence to prove it. As a tactic intended to get Cora and Frank to turn on one another, he tries only Cora for the crime.
Although they turn against each other, a clever ploy from Cora’s lawyer, Katz (Michael Lerner), prevents Cora’s full confession from coming into the hands of the prosecutor. With the tactic having failed to generate any new evidence for the prosecution, Cora benefits from a deal in which she pleads guilty to manslaughter and is sentenced to probation.
Months later, Frank has an affair with Madge Gorland (Anjelica Huston) while Cora is out of town. When Cora returns, she tells Frank she is pregnant. That night, Katz’s assistant, Kennedy (John P. Ryan), appears at their door and threatens to expose them unless they give him $10,000. Enraged, Frank beats Kennedy up and strong-arms him into giving up the evidence against them.
When Frank returns, he finds that Madge has been to see Cora, who threatens to turn him in. They eventually patch together their tumultuous relationship and now plan for a future together. However, just as they seem to be prepared for a new life together, Cora dies in a car accident while Frank is driving. Frank weeps over Cora’s body.