У мельника Фаддея, работающего у мельницы на опушке леса, происходит размышление о народных суевериях, согласно которым без колдуна мельница не сможет функционировать. Сам Фаддей, выросший на мельнице и не видевший домовика, считает настоящим колдовством скорее обман и плутовство. К нему обращается Филимон, жених Анюты, дочери крестьянина Анкудина, с просьбой поворожить по поводу пропавших коней. Мельник соглашается, но требует предоплату. После долгих переговоров он приказывает Филимону три раза обойтись по солнцу, один раз против него, подойти к дереву, затем завязывает ему глаза, очерчивает вокруг мелом круг и уходит, оставляя молодого человека ждать.

Испуганный Филимон поёт песню, чтобы успокоиться. Мельник, вращая жернова и создавая шум, произносит заклинания, что ещё больше пугает Филимона. После ритуала мельник развязывает ему глаза и намекает на необходимость оплаты, затем сообщает, что кони не вернутся. Рассмотрев ладонь Филимона, мельник замечает его душевные терзания и призывает рассказать о проблемах. Филимон объясняет, что хочет жениться на Анюте, но мать девушки, дворянка, против, желая видеть зятя из дворян, тогда как отец предпочитает крестьянина. Мельник обещает помочь и получает обещание четверти урожая ржи в качестве награды. Партнёры довольны и отправляются в кабак отмечать договор.

У выхода из крестьянского двора Филимон пытается заговорить с Анютой, которая сначала боится родителей и хочет уйти, но остаётся. Он упрекает её в нерешительности, говоря, что не станет гоняться за ней. Анюта, испытывающая к нему симпатию, начинает разговор и жалуется на мать, не отпускающую её на посиделки. Филимон обещает скорую свадьбу. Появившийся слегка подвыпивший мельник мешает их беседе, но Филимон уверяет Анюту, что с помощью мельника они смогут добиться свадьбы.

Когда появляется Фетинья, мать Анюты, мельник и Филимон прячутся за двором. Фетинья ругает дочь за лень и гонит её работать. Анюта упрекает мать, что другие девушки гуляют, а она всё занята, но подчиняется. Мельник просит впустить его в дом, и Фетинья соглашается, выслушав ворожбу, в которой мельник угадывает её тайные мысли. Он просит у неё выпивки и получает фляжку вина.

Для гадания о суженом мельник выводит Фетинью, ставит Анюту спиной к месяцу, даёт зеркало и велит смотреть на отражение. Затем он даёт знак Филимону выйти из укрытия и появиться перед девушкой. Анюта радуется видению, после чего мельник приказывает ударить по зеркалу, чтобы избежать захвата видением. Фетинья спрашивает у дочери, кто появился, но та молчит и уходит.

Фетинья просит предсказать, каким будет её зять, желая дворянина. Мельник велит ей пройтись по тропинке и встретить первого встречного, который и будет зятем. По пути она встречает Филимона и, испугавшись, убегает. Мельник успокаивает её, уточняя, кто это был, и убеждает, что это дворянин из села Хлебородова, деревни Доброй-Пожни, хотя имя не называет.

Анкудин, подъезжая на лошади, беседует о трудной жизни крестьянина. Его останавливают мельник и Филимон, после приветствий мельник сватает Филимона, охарактеризовав его как крепкого парня, выросшего без родителей. Анкудин одобряет, но опасается сопротивления жены, с которой не может справиться без посторонней помощи. Мельник обещает помочь.

У ворот дома Анкудина встречает Фетинья и сообщает, что сватается за дочь, на что Анкудин отвечает, что тоже сватает Анюту. Они не раскрывают имён женихов и спорят, каждый настаивает на своём выборе: крестьянин у Анкудина, дворянин у Фетиньи. Позже Фетинья, сидя с работающими девушками, рассказывает Анюте о свадебных песнях и убеждает её в правильности выбора — дворянина из села Хлебородова. Анкудин удивлён и уточняет, Фетинья повторяет, что жених — помещик из деревни Доброй-Пожни, сватаемый Фаддеем. Анкудин не верит и говорит, что мельник сватал крестьянина из той же деревни.

Анкудин и Фетинья допрашивают мельника о ворожбе. Тот убеждает каждого, что жених будет соответствовать их ожиданиям: для Анкудина — крестьянин, для Фетиньи — дворянин. Анкудин предполагает, что мельник сватает им оборотня, и Фетинья соглашается.

Пьяный мельник с балалайкой представляет Филимона Фетинье, Анкудину и Анюте. Все узнают в нём знакомого. Мельник объясняет, что в России нередко «сам помещик, сам крестьянин, сам холоп и сам боярин», называя таких однодворцами — одновременно и дворянами, и крестьянами. Анюта просит родителей позволить ей выйти замуж за Филимона.

Анкудин и Фетинья остаются частично удовлетворёнными и соглашаются на свадьбу, благодарят мельника. Хор вступает с песней, прославляющей мельника и благословляющей бракосочетание. В песне каждый выражает своё отношение к случившемуся и призывает тестя вести всех на пир.