В 1619 году под давлением казаков реестр был увеличен до 3 тысяч человек, но вне его осталось более 10 тысяч казаков, а вместе с ними — горючий материал для новых мятежей. В 1625 году, после нового восстания под руководством Жмайло, число реестровых казаков выросло до 6 тысяч, но вне реестра теперь было уже около 40 тысяч казаков. Многие не попавшие в реестровые казаки уходили в Сечь, где в 1629 году насчитывалось уже 40 тысяч запорожских казаков.
В 1630 году восстали десятки тысяч «новых казаков» во главе с беглым крестьянином Тарасом Федоровичем (Тарасом Трясыло). Восставшие пошли походом с Сечи на Украину, где к ним присоединились и реестровые казаки. Под Корсунем повстанцы окружили польское войско гетмана Конецпольского. Последнему удалось договориться с реестровыми казаками. В разгар сражения они перешли обратно на сторону поляков, схватили и казнили Тараса.
В 1637 году новое восстание возглавил запорожский казак Павлюк. Оно охватило Киевщину, Полтавщину и Черниговщину. Повстанцы уничтожили старшину реестровых казаков, польскую и украинскую шляхту 14-тысячному польскому войску во главе с гетманом Потоцким в 1638 году с большим трудом удалось уничтожить 10-тысячную армию Павлюка. Потоцкий вспоминал: «Так упорно и непокорно было то мужичье, что никто из них не просил о мире и прощенье вины. Напротив, они только кричали, чтобы всем умереть в бою с нашим войском, и все действительно умерли, сражаясь против нас. И даже те, которым не хватало пуль и оружия, оглоблями и дышлами били наших солдат». После поражения реестровые казаки выдали Павлюка и его приближенных поляков. Казненного Павлюка сменил гетман Остраница, а после гибели Остраницы — полковник Гуня, но восстание вскоре было подавлено. Теперь реестровых казаков стало меньше 6 тысяч, и была отменена выборность почти всей казачьей старшины. Реестровые казаки сохранили право избирать лишь двух есаулов и несколько сотников. Жить казаки могли только в Черкасском, Корсунском и Чигиринском староствах.
В конце 1647 года Чигиринский сотник Зиновий Богдан Хмельницкий, происходивший из мелкопоместной украинской шляхты, испытавший немало притеснений от поляков (один шляхтич убил его сына, разорил хутор и похитил жену), бежал в низовья Днепра, где, собрав отряд беглых казаков, напал на польскую крепость Кодак, запиравшую выход из Сечи, и захватил ее. После этого успеха Запорожская Сечь избрала Хмельницкого своим гетманом. Он обратился с воззванием к населению Украины «Никогда вы не найдете возможности свергнуть польское господство, если теперь не сбросите целиком иго польских чиновников и не добудете свободы, той свободы, которую наши отцы купили своей кровью… нет иного способа, кроме как победить врага силой…»
Хмельницкому удалось заключить союз с крымским ханом. Польское командование недооценило серьезность ситуации. Коронный гетман Николай Потоцкий считал, что у Хмельницкого лишь 2 тысячи казаков и не более 500 татар перекопского мурзы Тугай-бея. В действительности же у Хмельницкого было до 8 тысяч запорожцев и примерно столько же татар.
На Запорожье в апреле 1648 года двинулся польский отряд в 5–6 тысяч человек во главе с сыном гетмана Потоцкого Стефаном. Параллельно ему по Днепру на лодках плыл отряд реестровых казаков полковника Барабаша в 4–6 тысяч человек, усиленный несколькими сотнями немецких ландскнехтов Запорожцы ждали противника у Желтых Вод — притока реки Ингулец. 3 мая реестровые казаки убили Барабаша, истребили немецких пехотинцев и присоединились к Хмельницкому.
Польский отряд устроил укрепленный лагерь на правом берегу Желтых Вод. Казаки Хмельницкого осадили лагерь и 6 мая несколько раз атаковали его, но взять не смогли. В ходе боя молодого Потоцкого оставили драгуны, перешедшие на сторону неприятеля. Поляки вынуждены были вступить в переговоры, чтобы договориться об отходе. Хмельницкий умышленно затянул переговоры на сутки, чтобы татары успели перерезать путь отступления войску Потоцкого Запорожский гетман согласился пропустить поляков при условии, что они сдадут казакам свою артиллерию. Татары, формально не участвовавшие в переговорах, напали на поляков при отступлении, причем казаки снабдили Тугай-бея трофейными пушками. Польские солдаты были частью уничтожены, частью пленены, а их командир погиб.
После победы у Желтых Вод казацко-татарская армия пошла на Корсунь, где располагались главные силы коронного гетмана Потоцкого и польного (полевого) гетмана Калиновского. По пути на сторону Хмельницкого перешел отряд из 3 тысяч драгун, в основном состоявший из украинцев. Польские войска почти вдвое уступали противнику в численности и были сильно деморализованы изменой реестровых казаков и украинских драгун. Потоцкий, вопреки мнению Калиновского, приказал отходить. Однако пути отхода перехватил 6-тысячный отряд запорожского полковника Максима Кривоноса. 16 мая поляки были разгромлены. Большая часть войска во главе с гетманами попала в плен. Лишь немногим более тысячи польских солдат добралось до Киева.
После победы под Корсунем на Украине началось широкое восстание. Повстанцы убили тысячи польских шляхтичей и горожан и десятки тысяч евреев — торговцев, ремесленников и управляющих имениями. Польские войска были изгнаны почти со всех украинских территорий. Им удалось удержаться лишь в Русском воеводстве (Галиции) и на Волыни. Отряды украинских казаков были направлены и в земли Литвы, где соединились с белорусскими повстанцами.
В Польше было объявлено «посполитое рушение» (всеобщее ополчение). В сентябре 1648 года польское войско, насчитывавшее около 40 тысяч человек, в том числе 18 тысяч наемников и 100 орудий, собралось у Львова. Сражение с армией Хмельницкого произошло 11–13 сентября у местечка Пилявцы на Львовщине. У поляков фактически отсутствовало единое командование, что сильно осложняло их положение. Один из предводителей, князь Доминик Заславский, выступал за переговоры с Хмельницким, другой, воевода русский князь Иеремия Вишневецкий, настаивал на том, чтобы подавить восстание огнем и мечом. 11 сентября польские отряды форсировали реку Пилявку, но не решились или не успели, из-за наступления темноты, атаковать пилявецкий замок, где находились главные силы украинцев.
На следующий день казаки овладели одним из бродов через Пилявку, а к вечеру им на помощь подошли несколько тысяч татар Утром 13 сентября татары атаковали неприятеля на правом берегу Пилявки, а казачий отряд переправился по плотине на левый берег, а затем сымитировал беспорядочное отступление. Шляхетская конница стала преследовать его и на левом берегу попала под удар засадного отряда Максима Кривоноса и побежала. Поляки столпились на плотине, многие падали в воду и тонули. Паника распространилась и на польский лагерь. Ночью поляки отступили, бросив артиллерию и обоз.
Вскоре после сражения под Пилявцами умер король Владислав, и в Речи Посполитой наступил обычный для бескоролевья хаос. Хотя большая часть польской армии под Пилявцами уцелела, некому было собирать силы против Хмельницкого. Запорожский гетман подошел к Львову, который откупился от осады большой контрибуцией. Затем украинские войска безуспешно осаждали Замостье.
В конце 1648 года новым королем был избран Ян Казимир. Хмельницкий, опасаясь подхода королевской армии, снял осаду Замостья и отступил в Украину. В январе 1649 года в Киеве он был провозглашен гетманом Украины и признан в этом качестве Яном Казимиром, не имевшим еще достаточно войск для подавления мятежа. Однако начатые польско-украинские переговоры закончились провалом, так как поляки настаивали на восстановлении польских имений на Украине и выплаты шляхтичам компенсации за разорение, а также на ограничении численности казацкого войска. Хмельницкий же был готов лишь на чисто номинальное подчинение Украины польской короне, отстаивая фактическую независимость страны.
Весной 1649 года король объявил новое посполитое рушение. Войско собиралось в Люблине. Вишневецкий сосредоточил свою 12-тысячную армию в Збаражском замке, имевшем 60 орудий. Хмельницкий собрал у Чигирина 30 казачьих полков численностью до 30 тысяч человек. На помощь ему пришли татары во главе с ханом Ислам-Гиреем. Казацко-татарская армия, насчитывавшая до 50 тысяч бойцов, 1 марта двинулась к Збаражу. 25 марта перед замком произошел бой с войском Вишневецкого. Казачий полк Бурляя вместе с татарами опрокинул немецкую пехоту и ворвался в неприятельский обоз. Однако Вишневецкий бросил против казаков Бурляя гусарскую хоругвь, которая оттеснила их к пруду и почти всех уничтожила. На помощь Бурляю устремился полк Морозенко, но поляки отразили эту атаку, а полковник Морозенко был убит. К вечеру армия Вишневецкого отступила в Збараж.
Осада замка продолжалась два месяца. Осажденные отбили несколько приступов. Тем временем к Збаражу подходило 30-тысячное войско Яна Казимира. Узнав об этом, Хмельницкий в конце июля предпринял общий штурм под прикрытием гуляй-городов. Однако люди Вишневецкого сделали вылазку и сожгли гуляй-города, вынудив казаков отступить.