Действие 1
Веселые песни звучат майским вечером на улице украинского села: это парубки и дивчата затеяли игру в «Просо». Молодой казак Левко не участвует в игре. Ласковой песней он зовёт на свидание свою возлюбленную красавицу Ганну. И хотя отец Левко — старый Голова — до сих пор не дал согласия на женитьбу, влюбленные счастливы. Ганна просит рассказать ей старинное предание о полуразвалившемся панском доме, что таинственно чернеет над озером. Левко не хочет тревожить девушку страшной историей, но уступает её настойчивым просьбам. Давным-давно, рассказывает он, жил в этом доме вдовец-сотник с красавицей дочкой. Сотник женился, но молодая жена невзлюбила свою падчерицу. Она была ведьмой и сделала так, что сотник выгнал дочь из дому. Девушка с горя бросилась в озеро и обернулась русалкой. Однажды вместе с подругами она утащила в воду свою мачеху, но та тоже прикинулась русалкой. Так и не знает Панночка, которая из её подруг — злая мачеха-ведьма. Пока рассказывал Левко, на землю спустились сумерки. Слышатся задумчивые девичьи песни. Появляется пьяный Каленик, который никак не может найти своей хаты. Девушки весело подтрунивают над ним. С шутками они указывают ему дорогу в хату Головы. А тем временем Голова, воспользовавшись отсутствием Левко, прокрался к Ганне, чтобы опять докучать ей любовными признаниями. Рассерженная красавица грозит всё рассказать своему жениху. Но Левко и сам слышал это объяснение; он решает, как следует проучить старого кривого Голову, сложив про него насмешливую песню.
Действие 2
Картина 1
Голова и его Свояченица чинно беседуют с почтенным гостем, Винокуром. Неожиданно в хату вваливается пьяный Каленик. Не замечая никого, он располагается спать, как у себя дома, и вовсю бранит Голову. Только хотел возмущенный хозяин выпроводить незваного гостя, как камень, пущенный чьей-то рукой, выбил стекло, и с улицы послышалась озорная, насмешливая песня парубков про Голову. В гневе он выскакивает из хаты, чтобы поймать зачинщика, и возвращается, таща переодетого Левко, запихивает его в сундук. Голове приходит Писарь с вестью, что главный смутьян пойман и посажен в казенную хату. Но Голова уверен, что виновника поймал он сам. Вместе они открывают сундук и с изумлением видят Свояченицу, которую ловкие парубки подсунули Голове в темноте. На Голову, а заодно и на Винокура и на Писаря обрушивается поток ругательств и упреков, ни у кого уже не остаётся сомнений в том, что перед ними в самом деле не черт, а Свояченица.
Картина 2
Левко, оставив веселую ватагу парней, пришёл к озеру. Все его думы обращены к любимой Ганне.
Он напевает ласковую, задушевную песню. Привлечённая звуками музыки, появляется Панночка. Она просит Левко найти среди русалок мачеху, которая сгубила её. По берегу озера русалки заводят хороводы, и затевают игру в ворона. Наблюдая за игрой Левко, указывает на ведьму. С торжествующими возгласами русалки увлекают её с собой на дно, а благодарная Панночка, вручает казаку записку для отца, и исчезает.
Приблизившиеся Голова, Писарь, Винокур признают в Левко зачинщика вчерашнего переполоха и бросаются вязать его. Но, к удивлению присутствующих, Левко передаёт отцу записку, в которой Комиссар приказывает Голове прекратить бесчинства и женить сына на Ганне. Радостно встречаются влюбленные; теперь ничто уже не мешает их счастью.