Although the opera shares the basic characters and outline of the play, it has a number of differences from the original story in terms of plot and emphasis. One example is in the convoy after Katerina gives Sergei her stockings: in the opera, all the women mock Katerina, whereas in the story, Sergei and Sonya mock her while Fiona and Gordyushka shame them in response to their cruelty toward her.
Act 1
Scene 1: Katerina's room
Katerina is unhappily married to Zinovy, a provincial flour-merchant. She complains to herself of her loneliness. Her father-in-law Boris, angered at her attitude in response to his saying that mushrooms are his favourite dish, says it is her fault for not producing an heir. She replies that Zinovy cannot give her a child – which Boris disdains; he then threatens her if she decides to seduce some youthful lover. Zinovy is called away on business, and Boris – against his son's inclinations – makes Katerina swear before an icon to be faithful. A servant, Aksinya, tells Katerina about the womanising new clerk, Sergei.
Scene 2: The Izmailovs' yard
Sergei and his comrades are sexually harassing Aksinya. Katerina intervenes. She berates him for his machismo and asserts that women are as brave and capable as men. Sergei is willing to prove her wrong and they wrestle; she is thrown down and Sergei falls on top of her. Boris appears. She says that she tripped and Sergei in trying to help her, fell down also. The other peasants back her up. Boris however is suspicious and roars at the peasants, telling them to get back to work before ordering Katerina to fry some mushrooms for him and threatening to tell Zinovy all about her behaviour.
Scene 3: Katerina's room
Katerina prepares to go to bed. Sergei knocks on her door with the excuse that he wants to borrow a book because he cannot sleep, but Katerina has none; she cannot read. As she is about to close the door he continues attempting to seduce her by remembering their wrestling match earlier that day. He gets into the room and forces himself on her. After this is done, she tells him to leave, but he refuses and she agrees to embark on an affair with him. Boris knocks on the door and confirms that Katerina is in bed and locks her in. Sergei is trapped in the room, and the two make love.
Act 2
Scene 4: The yard
One night a week later. Boris, unable to sleep due to unease about thieves being on the prowl, is walking in the courtyard in the pre-dawn darkness. He, remembering his own youthful days as a rake and knowing Zinovy's low libido, is considering seducing Katerina himself to fulfill his son's marital duties. He spots Sergei climbing out of Katerina's window. He catches him and publicly whips him as a burglar, then has him locked up. Katerina witnesses this but cannot stop him because she remains locked in her room. When finally she manages to climb down the eavestrough-drainpipe the other servants restrain her on Boris' order. After being exhausted by beating Sergei, Boris demands some dinner, saying that he will whip Sergei again the next day and dispatches a servant to call Zinovy back, saying that Zinovy is to be told that there's trouble at home. Katerina adds rat-poison to some mushrooms and gives them to him. As he is dying, calling for a priest, she retrieves the keys to free Sergei. The priest, called by the arriving morning shift of workers who find Boris in agony, arrives: Boris vainly tries to tell him that he was poisoned and falls back dead pointing at Katerina. Katerina, weeping crocodile tears, convinces him that Boris has accidentally eaten poisonous mushrooms and he says a prayer over Boris' body.
Scene 5: Katerina's room
Katerina and Sergei are together. Sergei querulously says that their affair will have to end due to Zinovy's impending return and wishes he and Katerina could marry – Katerina assures him that they'll marry but refuses to tell him how she'll arrange it. Sergei then falls asleep; Katerina is then tormented by Boris' ghost and cannot sleep. Later she hears Zinovy returning. He has been called back by one of the servants with the news of his father's death. Although Sergei hides, Zinovy sees Sergei's trousers and belt and guesses the truth. As he and Katerina quarrel, he whips her with the belt. Hearing Katerina's cries, Sergei emerges and confronts Zinovy, who then tries to escape and call the servants. Katerina stops Zinovy: she and Sergei then proceed to strangle Zinovy, who's finally finished off by Sergei with a blow on the head with a heavy candlestick. The lovers hide the corpse in the wine-cellar.
Act 3
Scene 6: Near the cellar
Following Zinovy's disappearance he has been presumed dead. Katerina and Sergei prepare to get married, but she is tormented by the fact that Zinovy's corpse is hidden in the wine cellar. Sergei reassures her and they leave for the wedding ceremony. A drunken peasant breaks into the cellar, finds Zinovy's body and goes to fetch the police.
Scene 7: The police station
The police are complaining about not being invited to the wedding and vainly try to distract themselves by tormenting a "nihilist" schoolteacher because of atheism when the peasant arrives and gives them the opportunity for revenge.
Scene 8: The Izmailov garden
Everyone is drunk at the wedding. Katerina sees that the cellar door is open, but the police arrive as she and Sergei are trying to escape.
Act 4
Scene 9. A temporary convict camp near a bridge
On the way to penal labour to Siberia, Katerina bribes a guard to allow her to meet Sergei. He blames her for everything. After she leaves, Sergei tries to seduce another convict, Sonyetka. She demands a pair of stockings as her price. Sergei tricks Katerina into giving him hers, whereupon he gives them to Sonyetka. Sonyetka and the other convicts taunt Katerina, who pushes Sonyetka into an icy river – also, herself, falling in. They are swept away and the convict train moves on.