Bobby Dupea (Jack Nicholson) works in a rural California oil field with his friend Elton (Billy 'Green' Bush), who has a wife and baby son. Most of Bobby's free time is spent hanging out at a local diner during his lunch and dinner breaks to see his waitress girlfriend, Rayette (Karen Black), who has dreams of singing country music. On weekends, Bobby hangs out in the company of Elton, with whom he bowls, gets drunk, and has sex with other women. Bobby has evidently not told anyone that he is a former classical pianist who comes from an eccentric family of musicians.
When Rayette becomes pregnant and his friend Elton is arrested and sent to jail for having robbed a gas station a year earlier, Bobby quits his job and leaves for Los Angeles where his older sister, Partita (Lois Smith), also a pianist, is making a recording. Partita informs him that their father, from whom he is estranged, has suffered two strokes and is now an invalid. She urges him to return to the family home in Washington State.
As Rayette has threatened to kill herself if Bobby leaves her, he very reluctantly asks her along to his home town. Driving north, they pick up two women headed for Alaska, one of whom is obsessed about "filth." The four of them are thrown out of a restaurant when he gets into an argument with a waitress who refuses to accommodate his special order of a chicken salad. After dropping off the two women (who are implied to be a lesbian couple), Bobby and Rayette check into a roadside motel for the night.
The next day, nearing his destination, Bobby, clearly embarrassed by the Southern trailer-trash Rayette's lack of polish and crude manners, tells her to remain at the motel before proceeding to his family home on an island in Puget Sound.
Upon arrival at his family's country house, Bobby finds Partita giving their father a haircut, but the old man seems completely oblivious to him. At dinner, he meets Catherine Van Oost (Susan Anspach), a young pianist engaged to his younger brother, Carl (Ralph Waite), a violinist. Despite personality differences, Catherine and Bobby (in which she and everyone in the family formally calls 'Robert'), become attracted and make love in her bedroom.
After two weeks, Rayette becomes bored at the motel and comes to the Dupea estate unannounced. Her presence creates an awkward situation, but when Samia, a pompous family friend, ridicules Rayette's background, Bobby gives a fiery defense of her. Storming from the room in search of Catherine, he discovers his father's male nurse giving Partita a massage. Now more agitated, Bobby picks a senseless fight with the massue, and is quickly knocked to the floor.
The next day, Bobby tries to convince Catherine to go away with him, but she declines, believing that Bobby does not love himself or anything at all. After trying to talk to his unresponsive father, Bobby leaves with Rayette, who makes a playful sexual advance that is angrily rejected.
In the final scene, when Rayette goes in for some coffee at a gas station, he gives her his wallet and then abandons her, hitching a ride on a truck headed north into Canada.