Действие 1.
Действие пьесы происходит в середине XIX века в вымышленном российском городе Калинове на Волге. Кулигин и Кудряш с приятелем прогуливались в общественном саду города Калинова, разбитом на высоком берегу Волги. Кулигин восхищался красивым видом, но Кудряш не разделял его восторгов: ему было всё равно. В отдалении купец Дикой ругал своего племянника Бориса. Кудряш пожалел, что в городе мало сильных парней, способных собраться и отучить Дикого «озорничать». Он считал, что купчиха Кабанова лучше Дикого: «та хоть, по крайности, всё под видом благочестия, а этот как с цепи сорвался». Сам Кудряш не боялся Дикого и смело отвечал на его ругань. Отругав племянника, Дикой ушёл. Борис подошёл к Кулигину. Тот спросил, зачем Борис живёт у дядьки и терпит его ругань. Борис рассказал, что его отец, родной брат Дикого, женился на благородной против воли матери и уехал в Москву. Там родители отдали Бориса в Коммерческую академию, его сестру — в пансион, и умерли от холеры. Борис с сестрой остались без средств к существованию. Вскоре они узнали, что умершая бабушка завещала им небольшое состояние с условием: они получат деньги после совершеннолетия, если будут почтительны с дядей. Борису пришлось оставить сестру у родственников матери, переехать к Дикому, бесплатно работать на него и терпеть его издевательства. Борис понимал, что денег не получит или получит «какую-нибудь малость», но всё равно терпел ради сестры. Дикой тиранил не только племянника, но и жену с дочками. Разозлившись с утра, он не успокаивался весь день, и домашние прятались от него по чердакам и чуланам. Борис пожаловался Кулигину, что ему трудно, он не может стать в Калинове своим. Кулигин ответил, что в городе царят «жестокие нравы». Народ беден, а богачи используют их труд, чтобы ещё больше обогатиться. Мечта Кулигина — изобрести вечный двигатель, получить за изобретение награду и дать работу городскому мещанству. Кулигин ушёл. Борис поразмышлял о своём незавидном положении, ухудшившемся любовью к замужней женщине, которую однажды увидел в церкви и ни разу с ней не разговаривал. Заметив издали эту женщину, идущую в сопровождении мужа и свекрови, Борис ушёл. Из церкви домой возвращалась семья Кабановых. Кабанова пилила своего сына Тихона за то, что тот не уважает мать и больше любит свою молодую жену Катерину. Наворчавшись, Кабанова ушла домой. Тихон упрекнул жену за то, что из-за неё ему всегда достаётся от матушки, но его сестра Варвара заступилась за Катерину. Тихон пошёл выпить к Дикому. Катерина с Варварой остались в саду. Катерина пожаловалась, что, выйдя замуж, она совсем завяла. Ей хотелось бы стать вольной птицей и улететь. Дома у маменьки Катерине жилось легко. Работой её не обременяли, молилась она по зову души, а не по принуждению, ей снились волшебные сны, а теперь снится, что она скоро умрёт.
Катерина призналась Варваре, что полюбила другого. Варвара не увидела в этом ничего страшного и пообещала устроить Катерине свидание, как только Тихон уедет по поручению маменьки. Катерина даже слушать об этом не захотела, ведь измена мужу — тяжкий грех. Начиналась гроза. Пугливая Катерина боялась, что её убьёт молнией, и она явится перед Господом с чёрным грехом на душе. Вернулся Тихон, все поспешили домой.
Действие 2.
Муж Катерины уезжает. В дом Кабановых пришла Феклуша. Разговорившись со служанкой, Феклуша сначала похвалялась своей праведностью, потом начала рассказывать нелепые выдумки о дальних странах, в которых сама никогда не была: о несправедливых султанах и людях с пёсьими головами. Служанка верила страннице: только она приносила вести из внешнего мира в их глухой угол. Удивив служанку своими россказнями, Феклуша ушла. Тихон собрался в дорогу. Кабанова заперлась с сыном в комнате, чтобы дать ему последние наставления. Катерина и Варвара дожидались своей очереди попрощаться с Тихоном. Варвара догадалась, что Катерина любит Бориса: увидев его, женщина менялась в лице. Варвара давно научилась притворяться и всё скрывать от матушки. Катерина так не могла: она не хотела встречаться с Борисом, боясь, что потом не сможет жить в доме Кабанихи и бросится в Волгу. Вышел Тихон. Кабанова заставила сына по старинному обычаю перед отъездом дать наставления жене: чтобы почитала свекровь, не сидела без дела и на парней не заглядывалась. Затем супругов оставили наедине. Катерина была грустная, она предчувствовала беду. Тихон посоветовал жене пропускать ругань Кабановой мимо ушей, но Катерина бросилась мужу на шею и попросила взять её с собой. Тот отказал: ему хотелось погулять на свободе, чтобы хоть две недели не было над ним никакой грозы. Кабановой не понравилось, как Катерина прощалась с мужем. Она долго ворчала, что невестка не показывает своего горя: не воет на крыльце по старинному русскому обычаю. Когда Тихон уехал, Варвара выпросила у матери разрешения спать вместе с Катериной в саду, в старой беседке. Она вручила Катерине ключ от калитки, ведущей из сада к оврагу, и пообещала передать Борису, чтобы пришёл ночью к калитке. Катерина долго колебалась, но всё же оставила ключ у себя.
Действие 3.
Феклуша и Кабанова сидели на скамейке перед домом купчихи. Феклуша говорила, что в других городах жизнь суетливая, по улицам «огненные змии» ездят, а здесь, в Калинове, тихо и хорошо: просто «обетованная земля». Тут пришёл пьяный Дикой, пожаловался, что его снова рассердили: мужики потребовали денег за работу. В таком состоянии успокоить его могла только Кабанова. Она пригласила Дикого в дом. Вскоре к Кабановым пришёл Борис: его прислали узнать, где Дикой. У дома с ним встретилась Варвара, возвращавшаяся со свидания с Кудряшом. Прикрыв лицо платком, она шепнула Борису, чтобы тот пришёл ночью к оврагу за их садом. Ночью Варвара ушла на свидание с Кудряшом, а Катерина встретилась с Борисом. Они признались друг другу в любви. Катерина чувствовала, что заплатит за этот грех, но уже ничего не боялась. Они договорились встречаться, пока не вернётся Тихон.
Действие 4.
Прошло десять дней. Богатые горожане гуляли по набережной, началась гроза, все спрятались в галерее старинного монастыря, в том числе и Дикой с Кулигиным. Изобретатель уговаривал купца пожертвовать деньги на общественные нужды: он хотел возвести в парке солнечные часы и снабдить город громоотводами. Дикой денег не дал. Он разозлился на Кулигина, который сказал, что гроза — не кара божья, а электричество, и от неё могут защитить громоотводы. По мнению Дикого, гроза послана людям в наказание, и стальными шестами от неё не защитишься. Дождь закончился, Кулигин и Дикой ушли. В полуразрушенную галерею вошли Борис с Варварой. Тихон вернулся раньше, чем обещал, и Катерина «сама не своя сделалась»: мечется, рыдает. Это начала замечать Кабанова. Варвара боялась, что Катерина во всём признается мужу. Снова прогремел гром. В галерею вбежала Катерина, вслед за ней — Кабаниха и Тихон. Кабанова сказала Тихону, что его жена, возможно, ему не верна. В этот момент Катерина увидела Бориса и испугалась. Вмешалась Варвара и сделала знак Борису, чтобы тот ушёл. Взволнованная и измученная Катерина отошла в сторону, чтобы помолиться, и увидела на стене фреску, изображающую страшный суд. Это стало последней каплей. Катерина бросилась в ноги Тихону, покаялась в измене и лишилась чувств.
Действие 5.
Прошло время. Прогуливаясь вечером в общественном саду, Тихон встретил Кулигина и пожаловался, что вся его семья «в расстройство пришла». Катерину он любил и жалел, даже побил её только потому, что маменька велела. Во всех бедах Тихон винил Кабанову: если бы она не тиранила Катерину, та не решилась бы на измену. Теперь Кабаниха Катерину «поедом ест», а та «тает, как воск». Тихон жалеет и жену, и Бориса, он простил бы их, но маменька против. Кулигин посоветовал ему жить своим умом и простить жену — тогда она будет верна ему всю жизнь. Тихон ответил, что своего ума у него нет, а тот, что есть, он возьмёт и пропьёт — пусть маменька тогда с дураком нянчится. Бориса дядя отправляет на три года «в Тяхту, к китайцам», служить в конторе у знакомого купца. Варвара, которую Кабанова посадила под замок, сбежала с Кудряшом неизвестно куда. Тихону дом опостылел, возвращался он туда с большой неохотой. Тут подошла служанка и сообщила, что Катерина ушла из дому, и её не могут найти. Тихон и Кулигин бросились на поиски. Появилась Катерина. Она тосковала по Борису, мечтала попрощаться с ним. Теперь она жила, как в могиле, и жалела, что сейчас на Руси не убивают неверных жён. Появился Борис. Он сообщил Катерине, что дядя посылает его в Сибирь. Сюда он пришёл, чтобы попрощаться с местом, где они встречались. Катерина попросила взять её с собой, но Борис отказал, оправдываясь тем, что едет не по своей воле. Катерина смирилась, благословила любимого и отпустила его. В том, что произошло, она винила только себя. Домой Катерина не пошла: лучше в могилу, чем в дом Кабанихи, которая запирала и мучала её. Жить ей больше не хотелось. Боясь, что её поймают и насильно вернут домой, Катерина побежала в сторону Волги. Стемнело, сбежались люди с фонарями, явились Тихон с Кабановой. Вдруг кто-то крикнул, что женщина бросилась в воду. Кулигин побежал туда, Тихона не пустила мать. Вскоре люди вернулись, один из возвратившихся сообщил, что Кулигин вытащил из омута утонувшую женщину. Она бросилась с высокого обрыва в Волгу, ударилась о якорь и погибла. Тихон побежал навстречу Кулигину, который нёс мёртвую Катерину. Вот вам ваша Катерина. Делайте с ней, что хотите! Тело её здесь, возьмите его; а душа теперь не ваша: она теперь перед судиёй, который милосерднее вас! Тихон бросился к мёртвой жене, начал обвинять мать в её гибели. Кабанова прикрикнула на сына. Тот упал на труп жены со словами: «Хорошо тебе, Катя! А я-то зачем остался жить на свете да мучиться!».