Catfish Row, a tenement neighborhood of Charleston, South Carolina, in the 1920s. The inhabitants of Catfish Row are relaxing after a day’s work. Clara sings a lullaby to her baby. The drug-dealer Sportin’ Life, Clara’s husband Jake, and some of the other men are playing craps under the disapproving eye of the religious Serena. Jake sings a lullaby of his own to the baby.
The disabled beggar Porgy arrives and is about to join the game when Crown and his partner Bess appear. The loudmouthed Crown joins the dice game. Drunk and high on drugs, he loses, starts a fight, and kills Robbins with a cotton hook. Before the police arrive, Crown runs off to hide, telling Bess that he’ll be back for her. The community shuns Bess as they await the arrival of the police. Sportin’ Life offers to take her to New York with him, but she refuses. Only Porgy is sympathetic to her: He offers her shelter and his protection, which she accepts.
In her room the following evening, Robbins’s widow Serena leads the mourners at her husband’s funeral. A collection is being taken to meet the cost of the burial. Porgy and Bess enter, and Bess offers Serena a contribution which at first she refuses thinking it must be Crown’s money. She finally accepts is when it is explained that it is Porgy’s.
The police officers arrive and accuse Peter the Honeyman of the murder. Fearing what might happen, he tells them that Crown was responsible but is himself promptly arrested as a material witness.
Serena convinces the undertaker to bury Robbins for less than his usual fee. Bess leads everyone in an exultant spiritual.
A month later, Jake and the other fishermen are mending their nets. Porgy compares his life to theirs. Sportin’ Life enters, but before he has an opportunity to peddle any of his “happy dust,” Maria, the matriarch of Catfish Row, chases him away. “Lawyer” Frazier sells Bess a divorce, even though she and Crown were never married.
Everyone is preparing to leave for a church picnic on Kittiwah Island. Sportin’ Life asks Bess again to come to New York with him and tries to give her more dope, which she refuses. Porgy threatens him and chases him off. He and Bess reflect on their newfound happiness. Porgy insists that Bess should go to the picnic without him. At first, she refuses, not wanting to leave him alone, but eventually, she yields to his persuasion and joins the others as they set off.
On Kittiwah Island, the evening of the same day, Sportin’ Life describes his own cynical view of religion to some of the revelers, until Serena chastises them for being taken in by his stories. The steamboat whistle announces that its time to leave, and everyone starts to pack up their belongings. Bess hurries along until Crown, who has been hiding on the island since the Robbins murder, calls out to her. He wants Bess to come with him, but she explains that she now has a new life with Porgy. Crown forces her to stay with him.
In Catfish Row, at dawn a week later, fishermen leave for a day’s work at sea despite a storm warning. Bess is heard talking deliriously from Porgy’s room. She has been feverish and ill since returning from Kittiwah Island. Peter, released from police custody that morning, advises Porgy to take her to hospital, but Serena would rather pray for her recovery. Her prayers are answered: Bess emerges into the courtyard, free of the fever. She explains to Porgy that she wants to stay with him but that when Crown returns, she’ll be forced to go back to him. Porgy tells her that she doesn’t have to go with Crown, and he and Bess reaffirm their love for each other. The wind begins to rise and the hurricane bell sounds.
At dawn the following day, everyone cowers together in Serena’s room, and they pray for deliverance from the storm. Suddenly, there’s a knock at the door: It’s Crown seeking shelter and looking for Bess. She won’t go with him, insisting that she belongs to Porgy alone. He mocks Porgy and the frightened townspeople and counteracts their prayers for deliverance with a vulgar song. At the storm’s height, Clara sees Jake’s boat has overturned and rushes out to save her husband. Bess calls for one of the men to go after her. Crown is the only one to respond.
In Catfish Row the following night, the storm has passed. The women grieve for those who have been lost, including Jake, Clara and, it is assumed, Crown. Sportin’ Life appears, mocks their weeping, and hints that Crown is still alive. Bess is seen at a window lulling Clara’s baby to sleep. Under the cover of darkness, Crown steals in and approaches Porgy’s door. But Porgy is ready for him, strikes the first blow, and kills him.
The next afternoon, the detective returns to Catfish Row, accompanied by the coroner. They are investigating Crown’s murder, but their questioning of Serena and two other women draws a blank. They go to Porgy’s room and tell him he must come with them and identify Crown’s body. Horrified that he must look at Crown’s face, Porgy refuses to go and has to be dragged off.
Taking advantage of Porgy’s absence, Sportin’ Life tries to convince Bess that Porgy will be locked up for certain, and he attempts to lure her away to a new life. When Bess spurns him, he forces some dope on her and leaves more outside her door as he leaves.
A week later, the inhabitants of Catfish Row greet each other at the beginning of another day. Porgy returns from jail in jubilant mood: He distributes gifts that he has bought with money he won playing games of crap in jail. He is unaware of his friends’ discomfort as he calls out for Bess. Eventually, Serena and Maria tell him that Bess has gone to New York with Sportin’ Life. Hearing this, Porgy decides to follow her: He cannot live without Bess.