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