Армия Петра I защищала Новгород и Псков. Король Швеции решил идти через Смоленск или Брянск. Однако 28 сентября 1708 года шведский корпус генерала Левенгаупта в 16 тысяч солдат, вёзший припасы и громадный обоз Карлу, был разбит русскими войсками у белорусской деревни Лесной. Карл XII был отрезан от своих баз снабжения, население уничтожало всё, что могло пригодиться шведам. Карл XII попытался пойти на Москву по левобережной Украине, но войска Петра и казаки отбили нападение.
Сконцентрировавшись в районе Сумы-Белополье, объединенные войска Петра и украинских казаков выдавили шведскую армию из Ромен. В Сумах прошел военный совет во главе с Петром I, на котором был выработан российский план военных действий. Армия Карла XII двинулась к Батурину – в гетманской столице были собраны громадные запасы продовольствия и военного снаряжения. Н. Полонская-Василенко писала:
«Вступление шведских войск на территорию Украины было страшным ударом для Мазепы, и он принужден был принять непосредственное участие в событиях. В тот период у десяти украинских полков только три было в Украине – Миргородский, Лубенский и Прилуцкий. Полтавский был ещё на Дону, Киевский и Гадячский – на Правобережной Украине для помощи польским союзникам Москвы, а четыре полка – Стародубский, Черниговский, Нежинский, Переяславский – в Беларуси, в распоряжении московских командиров. Оставалось ещё три компанейских и четыре сердюцских полка».
Этот, в общем-то, ожидаемый, поворот шведской армии на Украину, смешал все планы Мазепы. Петр I вызвал гетмана с оставшимися полками к себе. Мазепа, сославшись на болезнь, тянул со своим отъездом, сколько мог. Про то, что шведы идут к Батурину как союзники гетмана, знали только несколько старшин. Казаки и селяне не принимали шведов и воевали против них, как против захватчиков – шведские солдаты своим поведением этого вполне заслуживали.
24 октября 1708 года Мазепа с частью генеральной старшины, несколькими полковниками и пятью тысячами казаков вышел из Батурина, в котором оставался десятитысячный гарнизон во главе с полковником Чечелем. Через четыре дня Мазепа прибыл к Карлу XII, который, очевидно, разочарованный количеством мазепинцев, даже по началу не принял его и не пошел к Батурину, главной базе и столице Гетманщины. Из пяти тысяч казаков не все пошли в шведский лагерь, услышав обращение гетмана:
«Моё мнение такое: когда король Шведский, всегда непобедимый, которого вся Европа уважает и боится, победит царя Российского и разрушит царство его, то мы по воле победителя, неминуемо будем причислены к Польше, и уже тут нет и не будет места договорам о наших правах и привилегиях.
А если допустить царя Российского выйти победителем, то уже лиха година придет к нам от самого того царя.
Так что, остаётся нам, братья, из видных зол, которые нас окружают, выбрать меньшее, чтобы потомки наши, брошенные в рабство, проклятиями своими нас не вспоминали.
Виделся я с обоими воюющими королями, Шведским и Польским, и всё мастерство своё использовал перед ними, чтобы убедить первого о протекции и милости для Отчизны нашей от военных напастей и разрушений в будущей войне».
Достоверных сведений о соглашении Карла XII и Ивана Мазепы не сохранилось – многие документы были уничтожены в течение нескольких дней после Полтавской битвы. Некоторые источники говорят о том, что хотел гетман Иван Мазепа: