Сначала запорожцы не могли понять, как польское войско беспрепятственно проникло в город. Позже выяснилось, что казаки куреня, охранявшего ворота, были в сильном опьянении и спали, не выставив часовых. В результате поляки захватили в плен весь курень вместе с атаманом. Кошевой решил, что припасов польской армии, привезённых с собой, надолго не хватит, поэтому вскоре начнётся сражение, и приказал готовиться.

Тарас искал Андрия, опасаясь, что тот оказался в плену вместе с пьяными казаками. К нему подошёл Янкель, который побывал в Дубно и увидел там Андрия, одетого в польские рыцарские доспехи. Янкель сообщил, что Андрий отрёкся от Родины ради дочери воеводы и намерен сражаться на стороне поляков. Свадьба Андрия и панночки должна состояться после изгнания запорожцев.

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

В городе стало известно, что казаки начали движение, и на городской вал вышли польские рыцари в золотых одеждах. Запорожцы, стоявшие перед валом, были без золота — они не любили наряжаться перед боем. Польский полковник распорядился вывести на вал пленных запорожцев.

Разъярённые казаки вступили в перепалку с поляками. Те открыли огонь из пушек, после чего польское войско вышло из ворот города. Запорожцы атаковали сразу с нескольких сторон, не дав полякам выстроиться и ответить выстрелами.

В ходе боя атаман куреня, в котором служил Остап, был соблазнён богатыми доспехами и наклонился, чтобы их снять. В этот момент польский офицер отрубил ему голову. Остап налетел на офицера, накинул ему на шею петлю, связал и созвал казаков куреня, чтобы отдать последнюю честь погибшему атаману.

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

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

После перевязки ран и похорон павших запорожцы разделились на курени, сели ужинать и рассказывали о своих подвигах. Тарас размышлял, почему Андрий не участвовал в сражении, винил в этом панночку и мечтал о её уничтожении.

Однако он не знал, что приготовит ему судьба на следующий день, и, наконец, уснул.