Положение осажденного в Збараже польско-шляхетского войска с каждым днем ухудшалось, к концу июля оно испытывало острую нужду в боевых и продовольственных припасах.
На помощь осажденным спешил Ян II Казимир с основными силами польско-шляхетской армии, пополненной наемными отрядами прусской конницы. Получив известие о ее приближении, Б. Хмельницкий оставил под Збаражем часть полков во главе с генеральным обозным И. Чернятою, а главные силы повел навстречу королевскому войску и 5 августа возле Зборова занял выгодные позиции. Ничего не подозревая, вражеское войско утром следующего дня начало переправу через р. Стрыцу. Этот момент и послужил Б. Хмельницкому сигналом к началу битвы. Казацкие полки и крымская татарская конница атаковали колонну противника, растянувшуюся на узких дорогах болотистой местности. Упорный бой длился до позднего вечера, в ходе которого польско-шляхетская армия потеряла около 4 тыс. человек. Окруженному со всех сторон повстанцами, шляхетскому войску с большим трудом удалось соорудить лагерь, укрепив его земляным валом.
6 августа военные действия были возобновлены. Лагерь шляхетских войск обстреливала казацкая артиллерия: одновременно его атаковали с севера, запада и юга полки повстанческой армии, с востока — татарские отряды. Воспользовавшись поддержкой зборовских мещан, которые помогли обнаружить наиболее уязвимые места вражеской обороны, повстанцы пробились к лагерю. Польско-шляхетская армия оказалась на краю гибели.
Зборовский договор. Обострение классовых противоречий на Украине. Окружение польско-шляхетской армии открывало перспективу близкой победы, освобождения Украины и воссоединения ее с Россией. Однако крымский хан Ислам-Гирей III, боясь усиления Украины и преследуя корыстные цели, изменил гетману. Выведя с поля боя татарские отряды, он потребовал от Б. Хмельницкого немедленного прекращения военных действий и подписания с Речью Посполитой соглашения, угрожая в противном случае вступить в союз с польским королем. Учитывая эти обстоятельства, гетман вынужден был начать переговоры о мире с правительством шляхетской Речи Посполитой.
Польскую делегацию на переговорах возглавлял канцлер Ю. Оссолинский, украинскую — Б. Хмельницкий. Казацкая старшина обосновала свои требования в «пунктах о потребностях Войска Запорожского». Прежде всего речь шла о сохранении прав и привилегий казачества. Пункты предусматривали отмену всех сеймовых постановлений, направленных против Войска Запорожского, запрет ввода польских войск на территорию, подвластную гетманской администрации (от границ России до Днестра, Случи и Припяти), предоставление амнистии всем участникам освободительной войны, неограниченную численность казацкого войска. Церковная уния подлежала ликвидации, а киевский митрополит вместе со всем духовенством должен был подчиняться константинопольскому патриарху; церкви и церковное имущество, захваченные униатами, подлежали возврату православным; требовалось предоставление православному духовенству тех же прав, что и католикам; предполагалось закрытие на Украине коллегии иезуитов и ликвидация католического епископства; все административные и судебные должности в Брацлавском, Киевском и Черниговском воеводствах в дальнейшем должны были занимать только лица православного исповедания; требовалось предоставить киевскому митрополиту место в сенате. Король вместе с шестью сенаторами и шестью послами на ближайшем сейме должен был принести присягу на «целостность» всех пунктов договора.
«Пункты о потребностях Войска Запорожского» польские магнаты отклонили. Б. Хмельницкому под нажимом крымского хана пришлось пойти на значительные уступки и подписать 8 августа 1649 г. с Польшей Зборовский договор («декларацию»), согласно которому численность казацкого войска (реестрового) ограничивалась 40 тыс. человек. Под управлением гетманской администрации оставались Киевщина, Черниговщина и Брацлавщина. Польско-шляхетское правительство обязалось вывести оттуда свои войска и назначить на административные должности только православных шляхтичей (украинцев). Вопрос об унии предполагалось решить на сейме. Киевскому митрополиту было обещано место в сенате. Крестьяне, не вошедшие в реестр, обязаны были возвратиться в подданство феодалов и выполнять «обыклое послушенство».
Зборовский договор в известной мере обеспечивал права и привилегии украинской шляхты, казацкой старшины, реестрового казачества и православного духовенства. Вместе с тем он не удовлетворял рядовое казачество и крестьянство, над которым нависла угроза возобновления польско-шляхетского угнетения. Положение народных масс ухудшалось еще и тем, что по разрешению короля татарская орда опустошала Белз, Сокаль, Острог, Заславль, Меджибож, Ямполь и другие города, а также ряд сел. Крымские татары уводили в плен тысячи людей.
Подписание Зборовского договора не прекратило борьбы украинского народа против угнетателей. Казацкая старшина, обеспечив свои интересы, согласилась с его условиями, однако против выступило крестьянство, стремившееся навсегда избавиться от феодального гнета. Уже осенью 1649 г. на Поднепровье с новой силой развернулось антифеодальное и освободительное движение. Крестьяне и мещане, остававшиеся в повстанческих отрядах, не пускали в имения возвращающихся помещиков. Их действия поддерживало рядовое казачество. Выступления народных масс, недовольных условиями Зборовского договора, возглавили брацлавский полковник Д. Нечай и и миргородский полковник М. Гладкий. Возвращение на Украину польских панов и жестокие репрессии вынудили крестьян снова взяться за оружие, чтобы отстоять свое право на свободу. Десятки крестьянских повстанческих отрядов действовали на Волыни, Подолии и в Восточной Галичине.
Защищая интересы старшины, Б. Хмельницкий сдерживал стихийные выступления народных масс, иногда прибегая к суровым мерам наказания «бунтовщиков». Этим он пытался не дать повод польско-шляхетскому войску для вторжения в центральные районы Украины, выиграть время для подготовки армии к предстоящим военным действиям.
Гетман надеялся на военную помощь со стороны России, хотел предотвратить возможность враждебных выступлений Крымского ханства против России и Украины и его союза с Речью Посполитой. Учитывая недовольство народных масс, он намеренно затягивал составление реестра и не разрешал въезд королевской администрации на территорию Войска Запорожского до утверждения сеймом Зборовского договора. Казацкие полки оставались во многих населенных пунктах (Лоев, Любеч, Стародуб и др.), которые, согласно Зборовскому договору, передавались под контроль польско-шляхетских властей.
Магнаты и шляхта, возвращавшиеся на Украину в свои имения, наталкивались на сопротивление крестьян и казаков, которые отказывались выполнять феодальные повинности, бежали на территорию Левобережной и Слободской Украины, вступали в вооруженные стычки с отрядами жолнеров. Борьба украинского населения за свободу и независимость приобрела особую остроту и широкий размах на территории Брацлавского полка, где в конце 1649 г. под знаменами Д. Нечая собралось около 40 тыс. повстанцев. В некоторых случаях недовольство крестьян и казаков распространялось и на политику старшинской администрации. В частности, в январе 1650 г. на Запорожье вспыхнуло восстание казаков, требовавших отмены Зборовского договора. По приказу гетмана восстание было подавлено. В конце марта 1650 г. повстанческие отряды действовали в районе Шаргорода, Винницы, Браилова и других городов Подолии.
Подготовка сил для продолжения освободительной войны. Поход армии Б. Хмельницкого в Молдавию. Зборовский договор не удовлетворял и польско-шляхетские круги, стремившиеся к полной реставрации своей власти на Украине. И хотя начавшийся в ноябре 1649 г. вальный сейм ввиду безвыходности положения согласился с необходимостью выполнять условия договора, внести его в конституцию (закон) отказался.
Половинчатое решение вопроса было на руку гетману и казацкой старшине, получавшим основание для отказа от неукоснительного соблюдения всех условий Зборовского договора, в том числе и о количестве реестра.
Пытаясь изолировать Украину, правительство Речи Посполитой возлагало большие надежды на Молдавию, феодальная верхушка которой с самого начала освободительной войны украинского народа занимала к ней откровенно враждебную позицию. Господарь Молдавии В. Лупул давно поддерживал тесные связи с польскими и литовскими магнатами, разделяя их стремление подавить освободительную борьбу на Украине. Польская дипломатия пыталась запугать и царское правительство мнимой «казацкой» и татарской опасностью с тем, чтобы разорвать установившиеся между Россией и Украиной связи.