В начале мая 45-тысячная польская армия Скшинецкого начала наступление против 27-тысячного русского гвардейского корпуса, которым командовал великий князь Михаил Павлович, и отбросила его к Белостоку — за пределы Царства Польского. Дибич не сразу поверил в успех польского наступления на гвардию и только через 10 дней после его начала бросил против мятежников главные силы.
14 мая 1831 года произошло новое крупное сражение при Остроленке. Польская армия была разгромлена. Военный совет, собранный Скшинецким, принял решение об отступлении к Варшаве. Но в тыл русской армии, в Литву, был послан крупный отряд польского генерала Гелгуда (12 тыс. чел.). Там он соединился с отрядом Хлаповского и местными отрядами ребельянтов, его численность возросла вдвое. Русские и польские силы в Литве были примерно равны.
Генеральное сражение под Остроленкой хотя и закончилось полной победой русских, но не стало окончанием войны. Эпидемия холеры продолжалась и унесла жизни тысяч солдат. Через две недели после победы под Остроленкой ею заболел и в тот же день умер (29 мая) фельдмаршал Дибич. Еще через две недели, 15 июня, скончался и великий князь Константин Павлович.
29 мая 1831 года Дибич заболел холерой и в тот же день скончался. Командование временно принял генерал Толь. 7 июня 1831 года Гелгуд атаковал русские позиции у Вильны, но был разбит и бежал в прусские пределы. Из числа войск, находившихся под его началом, только отряд Дембинского (3800 чел.) смог прорваться из Литвы к Варшаве.
Через несколько дней русские войска генерала Рота разгромили польскую банду Колышки под Дашевым и у д. Майданек, что привело к усмирению мятежа на Волыни. Новые попытки Скшинецкого двинуться в тыл русской армии провалились.
13 июня 1831 года в Польшу прибыл новый главнокомандующий русскими войсками генерал-фельдмаршал граф И. Ф. Паскевич. Получивший за взятие в 1828 году Эривань (Еревана) титул графа Эриванского. Паскевич быстро привел войска в порядок, решительными медицинскими мерами приостановил эпидемию холеры и подошел к Варшаве.
Близ Варшавы оказалась 50-тысячная русская армия, ей противостояли до 40 тыс. мятежников. Польские власти объявили поголовное ополчение, но простой народ не спешил откликнуться на этот призыв.
Обороняющаяся сторона могла рассчитывать на укрепления Варшавы, некогда сооруженные самими русскими. Но Паскевича это не смутило. Он понимал, что войну надо кончать как можно быстрее, пока поляки еще не пришли в себя после поражений в Литве и на Волыни.
Местом переправы на левый берег Вислы Паскевич избрал Осек под Торунем, близ прусской границы. С 1 июля 1831 года у Осека русские строили мосты, по которым армия благополучно переправилась на неприятельский берег. Скшинецкий не рискнул препятствовать переправе, но недовольство варшавского общества вынудило его двинуться навстречу главным русским силам. Под их натиском польские войска откатывались к столице. В конце июля Скшинецкий был смещен и новым главнокомандующим польской армией стал Дембинский, желавший дать русским решающее сражение непосредственно у стен Варшавы.
3 августа 1831 г. в Варшаве начались волнения. Сейм распустил старое правительство, назначил главой правительства (президентом) генерала Я. Круковецкого и наделил его чрезвычайными правами.
В Варшаву был отправлен парламентер, предложивший полякам почетную капитуляцию. Но польский командующий Круковецкий гордо ответил, что немедленно капитулирует только тогда, когда будет восстановлена Речь Посполитая в ее древних пределах, т.е. до Смоленска и Киева.
6 августа русские войска начали осаждать Варшаву, и главнокомандующий Дембинский был заменен Малаховичем. Малахович вновь пытался атаковать русские тылы на севере и востоке Царства Польского.
Польский отряд Ромарино напал на русские войска барона Розена, стоявшие на Брестском шоссе — к востоку от Варшавы, и 19 августа 1831 года оттеснил их к Брест-Литовску, но затем поспешно отступил для защиты столицы.
Войска Паскевича, получив все необходимые подкрепления, насчитывали 86 тыс. человек, а польские войска у Варшавы — свыше 35 тыс. 25 августа 1831 года русские войска штурмом взяли Волю — предместье Варшавы. В ночь с 26 на 27 августа, в годовщину Бородинского сражения, в котором участвовали (по разные стороны фронта) почти все участники битвы за Варшаву, Круковецкий и польские войска в Варшаве капитулировали.
Это был конец войны. Отдельные отряды поляков еще продолжали сражаться, ставя перед собой задачу прорваться на запад.
Польская армия, оставив столицу, должна была прибыть в Плоцкое воеводство на севере царства, чтобы дожидаться последующих распоряжений русского императора. Но члены польского правительства, покинувшие Варшаву вместе со своими войсками, отказались выполнять решение Круковецкого о сдаче.
В сентябре и октябре 1831 г. остатки польской армии, продолжавшей сопротивление, были выдворены русскими войсками из пределов Царства в Пруссию и Австрию, где были разоружены.