К старому казацкому полковнику Тарасу Бульбе приезжают после выпуска из Киевской академии два его сына — Остап и Андрий. Два дюжие молодца, здоровые и крепкие, лиц которых ещё не касалась бритва, смущены встречей с отцом, подшучивающим над их одеждой недавних семинаристов. Старший, Остап, не выдерживает насмешек отца: «Хоть ты мне и батька, а как будешь смеяться, то, ей-Богу, поколочу!» И отец с сыном, вместо приветствия после давней отлучки, совсем нешуточно мутузят друг друга тумаками. Бледная, худощавая и добрая мать старается образумить буйного своего мужа, который уже и сам останавливается, довольный, что испытал сына. Бульба хочет таким же образом «поприветствовать» и младшего, но того уже обнимает мать, защищая от отца.
По случаю приезда сыновей Тарас Бульба созывает всех сотников и весь полковой чин и объявляет о своём решении послать Остапа и Андрия на Сечь, потому что нет лучшей науки для молодого казака, как Запорожская Сечь. При виде молодой силы сыновей вспыхивает воинский дух и самого Тараса, и он решается ехать вместе с ними, чтобы представить их всем старым своим товарищам. Бедная мать всю ночь сидит над спящими детьми, не смыкая глаз, желая, чтобы ночь тянулась как можно дольше. Её милых сыновей берут от нее; берут для того, чтобы ей не увидеть их никогда! Утром, после благословения, отчаявшуюся от горя мать еле отрывают от детей и уносят в хату.
Три всадника едут молча. Старый Тарас вспоминает свою буйную жизнь, слеза застывает в глазах, поседевшая голова понурится. Остап, имеющий суровый и твердый характер, хотя и ожесточившийся за годы обучения в бурсе, сохранил в себе природную доброту и тронут слезами своей бедной матери. Одно только это его смущает и заставляет задумчиво опустить голову. Андрий также тяжело переживает прощание с матерью и родным домом, но его мысли заняты воспоминаниями о прекрасной полячке, которую он встретил перед самым отъездом из Киева. Тогда Андрий сумел пробраться в спальню к красавице через трубу камина, стук в дверь заставил полячку спрятать молодого казака под кровать. Татарка, служанка панночки, как только прошло беспокойство, вывела Андрия в сад, где он едва спасся от проснувшейся дворни. Прекрасную полячку он ещё раз видел в костеле, вскоре она уехала — и сейчас, потупив глаза в гриву коня своего, думает о ней Андрий.
После долгой дороги Сечь встречает Тараса с сыновьями своей разгульной жизнью — признаком запорожской воли. Казаки не любят тратить время на военные упражнения, собирая бранный опыт лишь в пылу битв. Остап и Андрий кидаются со всею пылкостью юношей в это разгульное море. Но старому Тарасу не по душе праздная жизнь — не к такой деятельности хочет готовить он своих сыновей. Повстречавшись со всеми своими сотоварищами, он все придумывает, как поднять запорожцев в поход, чтобы не тратить казацкую удаль на беспрерывное пиршество и пьяное веселье. Он уговаривает казаков переизбрать кошевого, который держится мира с врагами казачества. Новый кошевой под напором самых воинственных казаков, и прежде всего Тараса, пытается найти обоснование для выгодного похода на Турцию, но под влиянием прибывших с Украины казаков, рассказавших о притеснениях польских панов и жидов-арендаторов над народом Украины, войско единодушно решает идти на Польшу, чтобы отомстить за все зло и посрамление православной веры. Таким образом война приобретает народно-освободительный характер.
И скоро весь польский юго-запад становится добычею страха, бегущего наперед слуха: «Запорожцы! Показались запорожцы!» В один месяц в битвах возмужали молодые казаки, и старому Тарасу любо видеть, что оба его сына — среди первых. Казацкое войско пытается взять город Дубно, где много казны и богатых обывателей, но встречают отчаянное сопротивление гарнизона и жителей. Казаки осаждают город и ждут, когда в нем начнется голод. От нечего делать запорожцы опустошают окрестности, выжигают беззащитные деревни и неубранные хлеба. Молодым, особенно сыновьям Тараса, не нравится такая жизнь. Старый Бульба успокаивает их, обещая в скором времени жаркие схватки. В одну из темных ночей Андрия будит ото сна странное существо, похожее на призрак. Это татарка, служанка той самой полячки, в которую влюблен Андрий. Татарка шепотом рассказывает, что панночка — в городе, она видела Андрия с городского вала и просит его прийти к ней или хотя бы передать кусок хлеба для умирающей матери. Андрий нагружает мешки хлебом, сколько может унести, и по подземному ходу татарка ведет его в город. Встретившись со своей возлюбленной, он отрекается от отца и брата, товарищей и отчизны: «Отчизна есть то, что ищет душа наша, что милее для нее всего. Отчизна моя — ты». Андрий остается с панночкой, чтобы защищать её до последнего вздоха от бывших сотоварищей своих.
Польские войска, присланные в подкрепление осажденным, проходят в город мимо пьяных казаков, многих перебив спящими, многих пленив. Это событие ожесточает казаков, решающих продолжить осаду до конца. Тарас, разыскивая пропавшего сына, получает страшное подтверждение предательства Андрия.
Поляки устраивают вылазки, но казаки пока ещё успешно их отбивают. Из Сечи приходит весть, что в отсутствие главной силы татары напали на оставшихся казаков и пленили их, захватив казну. Казацкое войско под Дубном делится надвое — половина уходит на выручку казны и товарищей, половина остается продолжать осаду. Тарас, возглавив осадное войско, произносит страстную речь во славу товарищества.
Поляки узнают об ослаблении неприятеля и выступают из города для решительной схватки. Среди них и Андрий. Тарас Бульба приказывает казакам заманить его к лесу и там, встретившись с Андрием лицом к лицу, убивает сына, который и перед смертью произносит одно слово — имя прекрасной панночки. Подкрепление прибывает к полякам, и они разбивают запорожцев. Остап пленён, раненого Тараса, спасая от погони, привозят в Сечь.
Оправившись от ран, Тарас уговаривает Янкеля тайком переправить его в Варшаву, чтобы там попытаться выкупить Остапа. Тарас присутствует при страшной казни сына на городской площади. Ни один стон не вырывается под пытками из груди Остапа, лишь перед смертью взывает: «Батько! где ты! Слышишь ли ты?» — «Слышу!» — отвечает над толпой Тарас. Его кидаются ловить, но Тараса уже и след простыл.
Сто двадцать тысяч казаков, среди которых и полк Тараса Бульбы, поднимаются в поход против поляков. Даже сами казаки замечают чрезмерную свирепость и жестокость Тараса по отношению к врагу. Так мстит он за смерть сына. Разгромленный польский гетман Николай Потоцкий клятвенно присягает не наносить впредь никакой обиды казацкому воинству. Один только полковник Бульба не соглашается на такой мир, уверяя товарищей, что прощённые ляхи не станут держать своего слова. И он уводит свой полк. Сбывается его предсказание — собравшись с силами, поляки вероломно нападают на казаков и разбивают их.
А Тарас гуляет по всей Польше со своим полком, продолжая мстить за смерть Остапа и товарищей своих, безжалостно уничтожая всё живое.
Пять полков под предводительством того самого Потоцкого настигают наконец полк Тараса, ставшего на отдых в старой развалившейся крепости на берегу Днестра. Четыре дня длится бой. Оставшиеся в живых казаки пробиваются, но останавливается старый атаман искать в траве свою люльку, и настигают его гайдуки. Железными цепями привязывают Тараса к дубу, прибивают гвоздями руки и раскладывают под ним костёр. Перед смертью успевает Тарас крикнуть товарищам, чтобы спускались они к челнам, которые сверху видит он, и уходили от погони по реке. И в последнюю страшную минуту предрекает старый атаман объединение русских земель, погибель врагам её и победу православной веры.
Казаки уходят от погони, дружно гребут вёслами и говорят про своего атамана.