17-летний Пётр Гринёв отправляется по поручению своего отца на военную службу в провинциальный гарнизон. Вместе с Петром едет его слуга, старик Савельич. По пути к Белогорской крепости они попадают в сильный буран. Путешественникам на дороге помогает случайно встретившийся мужик. В знак благодарности за спасение жизни Пётр дарит ему тулуп.
В крепости Пётр Гринёв влюбляется в Марью Миронову, дочь коменданта. Однако на её расположение также претендует другой офицер — Швабрин, который открыто насмехается над чувствами Петра и делает непристойные намёки по поводу целомудрия Маши. Так Швабрин мстит Марье за её отказ принять его предложение руки и сердца.
Вскоре крепость захватывает Емельян Пугачёв. Он казнит родителей Маши и предлагает офицерам и солдатам перейти на его сторону. Швабрин принимает предложение Пугачёва, в то время как Гринёв отказывается. Узнав юношу, подарившего ему тулуп, Пугачёв решает не казнить Петра, а отпускает его. Гринёв уезжает в Оренбург, оставляя Машу в крепости по причине её болезни. Позже Пётр получает письмо от Маши, в котором она сообщает, что Швабрин принуждает её к браку.
Решив спасти любимую, Пётр самовольно покидает место службы, но по доносу Швабрина оказывается арестованным правительственными войсками. Маша, узнав о неприятностях Петра, решает отправиться в столицу и обратиться к императрице с просьбой о помиловании. На прогулке в Царском Селе она встречает женщину и рассказывает ей свою историю. Эта женщина оказывается императрицей Екатериной, которая приказывает освободить Гринёва.