На подавление восстания были брошены регулярные войска под руководством Шереметева: армии фактически пришлось воевать на два фронта — на севере против шведов и на юге против казаков. Весной 1708 г. казачье войско понесло серьезные потери, а в начале лета последовало его поражение под Азовом. В июле Кондратий Булавин, осознав провал своих планов, застрелился. Со смертью атамана прекратилось и восстание.

Тем временем шла Северная война. Завоевание прибалтийских земель успешно продолжалось. Отправив Шереметева усмирять бунт, царь назначил главнокомандующим над своими войсками генерала ГБ.Огильви. В январе 1706 г. Карл XII, несмотря на суровую зиму, двинулся к городу Гродно, намереваясь захватить там своего противника Августа. Но польский король при поддержке четырех русских полков успел покинуть Гродно. Между тем Карл XII подступил к Гродно, где находились русские под командованием Огильви. Это была уже не «армия мужиков», а привычное к боям и хорошо организованное войско. Однако его силы слабели из-за недостатка провианта, солдаты умирали от болезней, распространившихся в городе. Петр I разработал план освобождения своей армии и искусно привел его в исполнение в конце марта 1706 г. Из 15 тыс. казаков и конницы царь устроил прикрытие для русских войск, а затем велел батальонам отступать в разных направлениях. Он рассчитывал, что Карл XII не станет распылять свои силы, а нападение только на один батальон ему ничего не даст. Предположение Петра I подтвердилось.