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