В ночь перед Рождеством в селе Диканька чёрт похитил месяц с неба, рассчитывая, что в темноте отец Оксаны не пойдёт в гости и останется дома. Это помешало бы Вакуле, которого чёрт не любил, встретиться с Оксаной, так как с её отцом у него были враждебные отношения. Несмотря на темноту, казак Чуб всё же отправился в гости, но заблудился в метели. В это время Вакула пришёл к Оксане, которая, посмеиваясь, сказала, что выйдет за него замуж, если он подарит ей туфельки, подобные царским.
Отец Оксаны, найдя свою хату, постучал в дверь, и ему открыл Вакула. Сначала он подумал, что ошибся домом, но затем понял, что может навестить мать кузнеца, которую в селе считали ведьмой, и направился к ней. Ведьма, желая выйти замуж за богатого вдовца, пыталась поссорить Чуба с Вакулой, чтобы помешать свадьбе кузнеца с Оксаной. В её доме по очереди побывали чёрт, сельский голова и дьяк, которых она спрятала в мешки, чтобы они не встретились. Вакула же, зайдя к ведьме, вскоре вернулся расстроенным, и Чуб также попал в один из мешков.
Кузнец заметил мешки и решил отнести их в кузницу. По дороге увидел, как Оксана разговаривает с другим мужчиной, и в отчаянии бросил все мешки, кроме самого лёгкого, с чёртом, посреди улицы. Он решил покончить с собой, но передумал и пошёл за советом к знахарю-колдуну. Тот посоветовал обратиться за помощью к чёрту, который находился в мешке. Вакула поймал чёрта, заставил его отвезти себя в Петербург к царице.
Тем временем деревенские девушки, колядуя, нашли мешки с дьяком, сельским головой и казаком. Услышав слух о том, что Вакула повесился, Оксана расстроилась и поняла, что любит его и хочет выйти за него замуж. В Петербурге Вакула получил у царицы туфельки и вернулся в село. После отдыха он пошёл к Чубу просить руки Оксаны. Чуб, разгневанный тем, что ведьма прятала его соперников в мешках, не стал препятствовать свадьбе. Вакула подарил Оксане туфельки, и она согласилась выйти за него замуж.
Персонажи
Оксана — дочь богатого казака, около 17 лет, красивая, с длинными чёрными косами, чёрными глазами и бровями, вздёрнутым носом, смуглая, капризная и избалованная.
Ваку́ла — талантливый кузнец и художник, молодой, сильный, целеустремлённый, верит в Бога, влюблён в Оксану.
Чёрт — мелкий бес, с узкой мордочкой и пятачком, тонкими ногами и хвостом, козлиной бородой и рожками, чёрный, хитрый, злой.
Чуб — отец Оксаны, старый казак, вдовец, богатый, усатый, ленивый, тяжёлый на подъём.
Соло́ха — мать Вакулы, около 40 лет, обычной внешности, вдова, пользуется успехом у мужчин, говорливая и угодливая, ведьма, по ночам летает на метле и дружит с чёртом.
Пузатый Пацю́к — знахарь и колдун, раньше был Запорожским казаком, но уже 10 лет жил в Диканьке, старый, толстый, в широких шароварах.