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