Действие происходит в Малороссии, на окраине села Диканька, в XVIII веке.
Действие первое
В последнюю ночь перед Рождеством ведьма Солоха по древнему обычаю начинает творить колядку.
Но тут появляется ее приятель – Черт. Он страшно зол на ее сына Вакулу за то, что тот «намедни на смех намалевал в притворе, будто Черта поленьями и прутьями гоняют». Решив насолить ему, Черт подговаривает Солоху украсть месяц и поднять метель. Тогда настанет темень, Чуб останется на печке дома и Вакула не сможет навестить его дочку, красавицу Оксану. Солоха согласна. Чуб ей милее всех диканьских казаков: он вдов, богат, и она не прочь прибрать его добро к своим рукам. Черт с Солохой поднимают метель и крадут месяц. Панас, несколько подгулявший, выходит из шинка и направляется к хате Чуба, решив продолжить рождественскую ночь у него. Но Чуб и сам выходит из хаты и зовет Панаса с собой на кутью к Дьяку. Там будет славная варенуха на шафране. Метель становится сильнее, и Панас с Чубом сбиваются с дороги.
Не спится и Вакуле. Он нерешительно бродит вокруг хаты Чуба: как узнать, любит ли его гордячка Оксана?!
Потерявшись в темноте, Панас возвращается в шинок, а Чуб, проплутав и не найдя хаты Дьяка, идет домой. Но у своей хаты он застает Вакулу. «Нет, хата не моя, в мою не забредет кузнец», – решает Чуб и отправляется навестить Солоху. А Вакула, отбросив наконец все сомнения, собирается объясниться с Оксаной. Метель прекращается.
Оксана любуется собой перед зеркалом. Незаметно вошедший Вакула восхищен ее красотой. Но не так-то просто завладеть ее сердцем. Она дразнит Вакулу, будто ей с ним скучно, и ждет подруг, чтобы поколядовать, ведь будут парубки – «порасскажут славные сказки». А вот и они!
Одна из ее подруг, Одарка, – в новых черевичках. Оксана жалуется, что никто не сделает ей такой подарок. В ответ на обещание Вакулы достать ей любые черевички, какие только она захочет, Оксана при всех дает слово: «Коль мне достанет он черевички, что носит сама матушка-царица, – тогда выйду замуж за него!»
Замерзнув на холоде, Солоха с Чертом согреваются в хате, поют и пляшут. Неожиданно раздается громкий стук в дверь. Солоха едва успевает спрятать Черта в мешок, как входит Голова. Он был зван на кутью к Дьяку, но, увидев свет в хате Солохи, решил скоротать вечер с ней. Только он выпивает чарку горилки – опять стук. Солоха прячет Голову, засунув его в другой мешок, и впускает Дьяка. Не дождавшись убоявшихся метели гостей, Дьяк почел за счастье повидать Солоху. Но и его ухаживания прерывает громкий стук. Это Чуб. Наскоро спрятав Дьяка в последний мешок, Солоха ласково встречает желанного гостя.
Однако неожиданно возвращается домой Вакула. Не на шутку перепуганная Солоха прячет Чуба в тот же мешок, где уже сидит Дьяк. Вакула хочет вынести мешки из хаты – ведь «завтра праздник». Кузнец взваливает мешки на спину и направляется к кузнице.
В Светлую ночь дивчата и парубки гуляют. Затеваются игры, шутки с ряжеными. Тут и пьяный Панас резвится. Тут веселится и Оксана. Увидев Вакулу, она опять повторяет ему: «Достань черевики, кузнец, – выйду замуж за тебя!» Но Вакула не хочет больше, чтобы гордая дивчина морочила его; он решает покинуть село.
Все смущены: не повредился ли кузнец в разуме, не наложит ли он на себя руки с горя?! Баба с обыкновенным носом и Баба с фиолетовым носом бегут разнести по всему селу сплетню: одна – что кузнец повесился, другая – что «в прорубь кинулся сердешный». Да и Оксана встревожена – а вдруг он с горя влюбится в другую и станет ее называть первой красавицей! Но тут она замечает оставленные Вакулой мешки. Молодежь развязывает их. Один за другим вылезают из мешков сконфуженные поклонники Солохи – Чуб, Голова и Дьяк. Безудержным смехом заливается толпа.
Действие второе
Вакула, захватив с собой только небольшой мешок, отправляется за советом к старому знахарю Пацюку. Молва идет, что тот знает всех чертей. Кузнец просит Пацюка указать ему дорогу к Черту: только он может помочь его горю. «Тому недалеко ходить, у кого Черт за плечами», – невозмутимо отвечает Пацюк. Удивленный Вакула видит, как из его мешка выскакивает Черт, который готов ему помочь, если кузнец продаст свою душу. Притворно согласившись написать расписку кровью, Вакула вдруг хватает Черта за хвост и достает крест. Под угрозой крестного знамения Черт обещает кузнецу сделать всё, что тот захочет. Вакула приказывает доставить его к Царице, и они собираются в путь.
Воздушное пространство. Песни и пляски звезд. Летают в небе планеты. Колдуны, ведуны и ведьмы киевские собираются на шабаш. Среди нечисти – Пацюк и Солоха. Они творят бесовскую колядку. Увидев Вакулу с Чертом, они пытаются преградить дорогу кузнецу, но тот крепко держит в руке крест.
Звучат фанфары, бегают, суетятся парубки и дивчины – ведь сейчас надо будет представлять Петербург и саму Царицу. Стройно вышагивают полонез придворные дамы, кавалеры и запорожцы. Появляется и Царица. Вакула падает ей в ноги: «Если б жинке моей довелось черевики такие надеть!» Царице нравится простодушная речь кузнеца. Она дарит ему свои самые лучшие черевички! Рождественская ночь подходит к концу. Скоро взойдет солнце. Без оглядки мчится от рассвета нечисть, проносится обратно на Черте Вакула, в руках у него – драгоценная ноша для Оксаны. Светает. Выходят девушки, выкатывая колесо – символ солнца, символ плодородия земли, света и жизни. В золоченом возке появляется Коляда, а навстречу ей выходит Овсень в образе прекрасного юноши. Слышится колокольный звон – в мир приходят Рождество и Любовь.
Действие третье
Грустно Оксане, она уже поняла: нет такого парубка, чтоб так любил ее, как Вакула. Еще и две бабы с утра пораньше трещат Чубу, будто кузнец повесился и утонул. Доспорившись до драки, бабы убегают. Чуб тоже плетется домой.
Оксана остается одна и не замечает Вакулу, который наконец-то слышит, что она его «полюбила». Не нужны больше красавице черевички – она и без них готова выйти замуж за кузнеца. Соглашается на это и Чуб: не может он забыть вероломную Солоху, да и подарки Вакулы из Петербурга – пояс цветной и шапка из смушек – так хороши!
Чуб зазывает диканьковцев – скоро будет свадьба! Все рады возвращению Вакулы.