In 1925, in Bastrop, Texas, Gid Frye (Anthony Perkins) narrates in voice-over as he watches his best friend Johnny (Beau Bridges) kiss Molly Taylor (Blythe Danner) outside a schoolhouse on election day. When Molly leads Ikey, a farmhand, inside to vote, Gid teases Johnny and suggests that he date Sarah Peters. After Johnny leaves, Gid takes a walk with Molly, kisses her, and asks whose girl she is. Molly thinks she is too silly for Gid, commenting that Johnny is silly but only Eddie White (Conard Fowkes), another boyfriend, is as silly as she. After Gid compliments her beauty, she suggests that maybe she is Gid's girl and they embrace. Ikey rides past on his mule and Gid suspects Johnny paid the farmhand to spy. Gid complains that he and Molly must keep their relationship secret.
One day, Johnny and Gid work on a farm together, and Gid presents Johnny with a new saddle. Gid's father, Mr. Frye (Ed Binns), forces Gid to plow a field despite his protests. He tells his father he wants to go to the Texas Panhandle with Johnny to find work.
Sometime later, Gid visits Molly at her house and asks her to go fishing. Molly says she received a postcard from Johnny, but Gid doesn't care to see it. Kissing Molly in a field, Gid suggests they get married. Resisting the idea, Molly tells Gid she will do anything but marry him. Molly undresses and runs into a pond, but Gid stays behind and she accuses him of being too careful.
One evening, Gid visits Sarah Peters (Susan Sarandon), who tends to several illegitimate children inside her home before joining him for a walk. They kiss, and Sarah mentions marriage, but Gid does not respond. At her home, Molly shows Gid her black eye, explaining that her father, Mr. Taylor (Claude Traverse), hit her, but only because she provoked him. Gid apologizes for not swimming with Molly and says he loves her. As she undresses him, he walks away to latch the front door. Upset that he left the room, Molly yells at Gid not to leave her again. Waking up in her bed the next morning, Gid asks Molly why there is no blood on the sheets, and she casually confesses she was not a virgin.
Heading to a livestock market, Gid and Johnny ride a train. Gid wants to know if Johnny plans to propose to Molly, conceding that, because Johnny made love to her first, he should have the first chance to marry her. Johnny says he thought Molly lost her virginity to Gid, and the men realize that Eddie must have slept with her first. Gid claims he will marry Molly despite being her third lover.
Back in town, Gid asks Molly to accompany him to a dance but she has promised to go with Eddie. At the dance, Johnny fights Eddie, and the sheriff intervenes. Johnny and Gid work on a ranch outside town, but Gid becomes homesick and returns, finding his father ill but unwilling to go to the doctor.
One night at Molly's house, Eddie crosses paths with Gid upon his arrival and informs him that Mr. Taylor accidentally drank lye and died. After Eddie leaves, Molly rushes outside to vomit. That night, Gid lies in bed with Molly and comforts her. Johnny sends word to Gid from the ranch, promising to visit Molly soon. One day, Eddie surprises Gid with the news that he and Molly were married one week ago, warning Gid to stay away from her. Mr. Frye consoles his son, asserting that a woman's affections are random and he shouldn't sulk. Gid later finds a suicide note from his father and realizes he has gone to shoot himself.
At Mr. Frye's funeral, Molly asks Gid to visit her soon. Sarah approaches after Molly leaves, and Gid takes her hand. Sometime later, he and Sarah marry. Gid describes his new wife as proud and scared, but not generous, and admits he is still in love with Molly. At a secret rendezvous, Molly tells Gid she has always wanted him to be whole hog in love with her. She says she wishes he wouldn't worry so much about what others think, but Gid wonders if he is incapable. They make love, and she tells him she is ready to have a baby and wants Gid to be the father. He agrees to impregnate her. Returning home, Johnny joins Molly and Gid on the Frye farm. Gid helps a cow birth a calf, and Molly kisses the newborn animal. Months later, Molly shows Gid a bump on her abdomen, confirming she is pregnant with his child.
Twenty years later in the year 1945, the voice-over narrative shifts its focus to Molly's point of view, as she recounts the events of the past two decades: Eddie died two years after they married; Matt, the son belonging to Molly and Gid, joined the US Navy and went to war in the Pacific; and Molly's second son, Joe, whom Johnny fathered, died in action in Germany a few months ago. Outside her house, Johnny tells Molly that Gid is buying another ranch. After Molly asks for his help planting tomatoes, Johnny says he came to court her and they make love. One night, a tornado hits and Molly retreats to an underground shelter.
The next morning, Gid, who is still married to Sarah, checks on Molly and they embrace. Before she prepares breakfast for the two of them, Molly receives a letter from Matt and hides it from Gid. When he comments that their son may be tougher after the war, she cries, aware that Matt hates her for being an adulterer. Molly recalls that her alcoholic father instructed her to marry Eddie because, though he didn't have any money, he drank and would treat her like a wife should be treated. After she was married, everyone in town became aware of her affair with Gid. In town, Molly receives a telegram that Matt has died. Gid drives by, offers her a ride, and takes her home where they mourn in silence.
That night, Gid announces to Molly that he cannot see her romantically anymore, though hes still madly in love with her. Molly wants to continue to sleep with him, believing he and Sarah no longer have sex. She asks if Gid is ashamed of her, like Matt was. Gid responds that he is ashamed of them both. Molly wonders why she does not feel shame and says she believes that love justifies adultery. Gid demands to know why she wouldn't marry him years ago. Molly admits she thought Eddie needed her more, but she was wrong. Gid agrees to come by when he can risk it, but Molly angrily sends him away. Molly reads the letter she received from Matt before his death, in which Matt reacts to the news of his brothers death and says he hopes he is killed as well. He writes that he will never forgive her for sleeping with Gid out of wedlock, and promises she will not hear from him again. Molly burns the letter, saying she knew it would break Gid's heart and cause him to stick by her.
Sometime later, Molly asks Johnny if he disapproves of her. Johnny says he is not the type of person to be ashamed and assures her they raised a good son. Molly wishes that Gid felt the same way. One day, Gid delivers a puppy to Molly. Afterward, she says she badly wanted to touch him, seeing that he needed it, but did not want to tempt him.
In 1964, the voice-over narrative shifts again, this time to Johnny's point of view, as he visits a terminally sick Gid in the hospital and presents him with a prank toy that shoots a fake snake out of a can. Teasing his friend, Gid pretends to have a heart attack. Johnny helps him break out of the hospital early, and Gid asks to go to Molly's house. Two days later, Gid leaves to go back to the hospital despite Molly's attempts to make him stay. While working on a windmill, Gid tells Johnny he might leave Sarah to live with Molly for the remainder of his life, believing it will give him peace. Johnny agrees that it would be good for both of them. Moments later, Gid falls off a ladder on the side of the windmill. As Johnny drives him to the hospital, Gid dies from his wounds.
Later, Johnny consoles Molly at her house. When she sees that he is sexually aroused, she tells Johnny not to feel ashamed and they make love. The next day, Johnny asks Molly how she would feel about getting married. She turns him down but says he is welcome in her home every night. Johnny recalls that, in his will, Gid left Johnny one thousand acres and a pickup truck; however, he only left Sarah a pocket watch. Johnny remembers the day when he and Molly kissed outside the schoolhouse and confesses that he sent Ikey to spy on her and Gid.