События происходят в первой половине XIX в., в вымышленном приволжском городке Калинове. Первое действие – в общественном саду на высоком берегу Волги. Местный механик-самоучка Кулигин беседует с молодыми людьми – Кудряшом, приказчиком богатого купца Дикого, и мещанином Шапкиным – о грубых выходках и самодурстве Дикого. Затем появляется Борис, племянник Дикого, который в ответ на расспросы Кулигина рассказывает, что родители жили в Москве, дали ему образование в Коммерческой академии и оба умерли во время эпидемии. Он же приехал к Дикому, оставив сестру у материнской родни, чтобы получить часть наследства бабушки, которое Дикой должен ему отдать согласно завещанию, если Борис будет к нему почтителен. Все его уверяют: на таких условиях Дикой никогда не отдаст ему денег. Борис жалуется Кулигину, что никак не может привыкнуть к жизни в доме Дикого, Кулигин рассказывает о Калинове и завершает свою речь словами: “Жестокие нравы, сударь, в нашем городе, жестокие!”
Калиновцы расходятся. Вместе с другой женщиной появляется странница Феклуша, хвалящая город за “бла-а-лепие”, а дом Кабановых за особую щедрость к странникам. “Кабановы?” – переспрашивает Борис: “Ханжа, сударь, нищих оделяет, а домашних заела совсем”, – поясняет Кулигин. Выходит Кабанова в сопровождении дочери Варвары и сына Тихона с женой Катериной. Она ворчит на них, но наконец уходит, разрешив детям пройтись по бульвару. Варвара отпускает Тихона тайком от матери выпить в гостях и, оставшись вдвоем с Катериной, беседует с ней о домашних отношениях, о Тихоне. Катерина рассказывает о счастливом детстве в родительском доме, о своих горячих молитвах, о том, что она переживает в храме, воображая ангелов в солнечном луче, падающем из купола, мечтает раскинуть руки и полететь и, наконец, признается, что с ней происходит “неладное что-то”. Варвара догадывается, что Катерина кого-то полюбила, и обещает по отъезде Тихона устроить свидание. Это предложение приводит Катерину в ужас. Появляется сумасшедшая барыня, грозящая тем, что “красота-то в самый омут ведет”, и пророчит адские муки. Катерина страшно пугается, а тут еще “гроза заходит”, она торопит Варвару домой к образам молиться.
Второе действие, происходящее в доме Кабановых, начинается разговором Феклуши с горничной Глашей. Странница расспрашивает о домашних делах Кабановых и передает баснословные рассказы о дальних странах, где люди с песьими головами “за неверность” и т. п. Появившиеся Катерина и Варвара, собирающие Тихона в дорогу, продолжают разговор об увлечении Катерины, Варвара называет имя Бориса, передает от него поклон и уговаривает Катерину спать с ней в беседке в саду после отъезда Тихона. Выходят Кабаниха и Тихон, мать велит сыну строго наказывать жене, как жить без него, Катерину унижают эти формальные наказы. Но, оставшись наедине с мужем, она умоляет его взять ее в поездку, после его отказа пытается дать ему страшные клятвы в верности, но Тихон и слушать их не хочет: “Мало ли что придет в голову…” Вернувшаяся Кабаниха приказывает Катерине кланяться мужу в ноги. Тихон уезжает. Варвара, уходя гулять, сообщает Катерине, что они будут ночевать в саду, и дает ей ключ от калитки. Катерина не хочет его брать, потом, поколебавшись, прячет в карман.
Следующее действие происходит на скамейке у ворот кабановского дома. Феклуша и Кабаниха беседуют о “последних временах”, Феклуша говорит, что “за грехи наши” “время в умаление приходить стало”, рассказывает о железной дороге, о суете московской жизни как дьявольском наваждении. Обе ждут еще худших времен. Появляется Дикой с жалобами на свою семью, Кабаниха упрекает его за беспорядочное поведение, он пытается ей грубить, но она это быстро пресекает и уводит его в дом выпить и закусить. Пока Дикой угощается, приходит присланный семьей Дикого Борис, чтобы узнать, где глава семейства. Выполнив поручение, с тоской восклицает о Катерине: “Хоть бы одним глазком взглянуть на нее!” Вернувшаяся Варвара велит ему ночью приходить к калитке в овраге за кабановским садом.
Вторая сцена представляет ночное гулянье молодежи, на свидание к Кудряшу выходит Варвара и велит Борису подождать – “дождешься чего-нибудь”. Происходит свидание Катерины и Бориса. После колебаний, мыслей о грехе Катерина не в силах противиться проснувшейся любви. “Что меня жалеть – никто не виноват, – сама на то пошла. Не жалей, губи меня! Пусть все знают, пусть все видят, что я делаю. Коли я для тебя греха не побоялась, побоюсь ли я людского суда?”
Все четвертое действие, происходящее на улицах Калинова, – на галерее полуразрушенного здания с остатками фрески, представляющей геенну огненную, и на бульваре, – идет на фоне собирающейся и наконец разразившейся грозы. Начинается дождь, и на галерею входят Дикой и Кулигин, который принимается уговаривать Дикого дать денег на установку солнечных часов на бульваре. В ответ Дикой его всячески бранит и даже грозит объявить разбойником. Стерпев брань, Кулигин начинает просить денег на громоотвод. Тут уж Дикой уверенно заявляет, что от посланной в наказание грозы “шестами да рожнами какими-то, прости Господи, обороняться” грех. Сцена пустеет, затем на галерее встречаются Варвара и Борис. Она сообщает о возвращении Тихона, слезах Катерины, подозрениях Кабанихи и выражает опасение, что Катерина признается мужу в измене. Борис умоляет отговорить Катерину от признания и исчезает. Входят остальные Кабановы. Катерина с ужасом ждет, что ее, не покаявшуюся в грехе, убьет молнией, появляется сумасшедшая барыня, грозящая адским пламенем, Катерина не может более крепиться и прилюдно признается мужу и свекрови в том, что “гуляла” с Борисом. Кабаниха злорадно заявляет: “Что, сынок! Куда воля-то ведет; Вот и дождался!”
Последнее действие снова на высоком берегу Волги. Тихон жалуется Кулигину на свое семейное горе, на то, что мать говорит о Катерине: “Ее надо живую в землю закопать, чтоб она казнилась!” “А я ее люблю, мне ее жаль пальцем тронуть”. Кулигин советует простить Катерину, но Тихон объясняет, что при Кабанихе это невозможно. Не без жалости говорит он и о Борисе, которого дядя посылает в Кяхту. Входит горничная Глаша и сообщает, что Катерина исчезла из дома. Тихон боится, как бы “она с тоски-то на себя руки не наложила!”, и вместе с Глашей и Кулигиным уходит искать жену.
Появляется Катерина, она жалуется на свое отчаянное положение в доме, а главное – на страшную тоску по Борису. Ее монолог заканчивается страстным заклинанием: “Радость моя! Жизнь моя, душа моя, люблю тебя! Откликнись!” Входит Борис. Она просит его взять ее с собой в Сибирь, но понимает, что отказ Бориса вызван действительно полной невозможностью уехать вместе с ней. Она благословляет его в путь, жалуется на гнетущую жизнь в доме, на отвращение к мужу. Навсегда простившись с Борисом, Катерина начинает в одиночестве мечтать о смерти, о могиле с цветочками и птицах, которые “прилетят на дерево, будут петь, детей заведут”. “Опять жить?” – с ужасом восклицает она. Подойдя к обрыву, она прощается с уехавшим Борисом: “Друг мой! Радость моя! Прощай!” и уходит.
Сцена заполняется встревоженным народом, в толпе и Тихон с матерью. За сценой слышен крик: “Женщина в воду бросилась!” Тихон порывается бежать к ней, но мать его не пускает со словами: “Прокляну, коли пойдешь!” Тихон падает на колени. Через некоторое время Кулигин вносит тело Катерины. “Вот вам ваша Катерина. Делайте с ней, что хотите! Тело ее здесь, возьмите его; а душа теперь не ваша; она теперь перед судией, который милосерднее вас!”
Бросаясь к Катерине, Тихон обвиняет мать: “Маменька, вы ее погубили!” и, не обращая внимания на грозные окрики Кабанихи, падает на труп жены. “Хорошо тебе, Катя! А я-то зачем остался жить на свете да мучиться!” – этими словами Тихона завершается пьеса.