Вышедший в начале июня из Риги обоз за месяц прошел двести тридцать километров. Петр сам возглавил особый конный отряд — «корволант», в который вошли десять драгунских полков, десять батальонов посаженной на коней пехоты, полковая артиллерия и казачья разведка. Петр настиг Левенгаупта недалеко от Шклова и Кричева, у деревни Лесной. Против 16 000 шведских солдат Петр вел 12 000 русских воинов.
Отчаянный бой продолжался весь световой день 28 сентября. Левенгаупт потерял 9000 солдат, 17 пушек, 45 знамен и 8000 груженых телег, которые он не успел уничтожить. В середине октября 1708 года генерал привел к Карлу 6000 голодных и измученных солдат. Корволант потерял 1000 воинов убитыми и 3000 ранеными. Бывший шведский обоз русский конвой благополучно доставил в Смоленск.
Победа при Лесной сильно подняла дух русской армии. Петр сразу оценил преимущества боя не в чистом поле, как это обычно происходило в Европе, а на пересеченной местности, когда фланги прикрывает лес или овраги, что исключало возможность окружения. До Полтавской битвы оставалось девять месяцев.
21 октября в штаб-квартиру Карла XII в Стародубе прибыл посланец украинского гетмана Ивана Мазепы. Еетман правил Украиной уже двадцать лет и пользовался полным доверием Петра I. Семидесятилетний Мазепа лавировал между Швецией и Россией, пытаясь выйти из подчинения Москве. Его хитроумные планы нарушил Карл, вынужденно повернув армию на
Украину. «Черт его сюда несет» — в отчаянии говорил Мазепа. Война из белорусских земель неожиданно переместилась на земли украинские. Петр послал гетману уже несколько приказов выступить против шведов. Колебавшийся Мазепа не верил, что Россия устоит перед Швецией. В конце октября 1708 года Мазепа и всего несколько тысяч казаков прибыли в шведский лагерь. Это было все, украинский народ не поддержал своего гетмана.
27 октября Петр в штаб-квартире русской армии получил неожиданное известие «о никогда не чаянном случае измены гетманской. Положение русской и шведской армий резко изменилось. Теперь Карл мог спокойно переправляться через Десну и получить все, что необходимо армии в огромных складах гетманской столицы Батурине, перезимовать в украинских городах, где дождаться подкреплений из Швеции и Польши, а возможно даже союзников из Турции и Крыма. В союзе с украинцами, поляками и турками отмобилизованная и отдохнувшая шведская армия через Белгород, Курск и Тулу могла идти на Москву. Карл XII во всеуслышание объявил, что вскоре разделит Россию на десяток княжеств и назначил коменданта Москвы.
Шведы двинулись в Батурин. На несколько часов раньше Карла у Батурина оказался русский десант А. Меншикова. Гетманская столица была сильно укреплена, а ее гарнизон состоял из десяти тысяч казаков — столько же драгун было у Меншикова. Один из осажденных указал русским тайную калитку в город. Отборные бойцы вошли в город и сумели прорубиться навстречу осаждавшим. 2 ноября Батурин был взят. А. Меншиков вырезал почти все население, уничтожил все собранные запасы и превратил гетманскую столицу в груду развалин. Это произвело ужасное впечатление на вскоре подошедших к городу шведов, а с Мазепой случилась истерика.
5 ноября 1708 года в присутствии Петра в Глухове верные союзу с Россией украинские казаки избрали нового гетмана И. Скоропадского. Петр обнародовал планы Мазепы о подчинении Украины Польше и Швеции — на рыночных площадях читали перехваченные письма бывшего гетмана. Гордый украинский народ, конечно, не пошел под новое польско-шведское ярмо. По всей Украине началась партизанская война против мародерствующих шведов. Духовенство предало Мазепу анафеме и он в течение месяца превратился в ничто.
За очень холодную зиму 1708 — 1709 годов украинские партизаны и русские летучие отряды сократили шведскую армию на четверть. Петр из Воронежа и Азова в Азовское море сам привел построенные им корабли. Из Стамбула тихо побежали придворные, а султан и крымский хан молча согласились, что поддержка заносчивого Карла XII обойдется себе дороже. Шведам не удалось привлечь в союзники Турцию.
В начале лета 1709 года Петр прибыл в ставку русской армии в Лебедине и Сумах. К тому времени Карл решил захватить Полтаву. Украинский город стоял на перекрестке важных дорог и имел стратегическое значение. На Дону с трудом было подавлено восстание Кондратия Булавина. Царю Петру приходилось успевать везде самому. «Нужных людей мало» — писал он будущей императрице Екатерине.
Полтавский гарнизон под командой полковника Келина составляли четыре тысячи солдат и три тысячи вооруженных жителей. Город не имел каменных стен. Укрепления Полтавы, расположенной на высоком и крутом берегу реки Ворсклы, состояли из земляного вала, усиленного палисадом. Крепостной многоугольник окружал ров с водой. К 1 мая 1709 года у Полтавы сосредоточилась вся шведская армия. Руководить штурмом король назначил генерал-квартирмейстераГилленкрока, которого сами шведы называли «маленьким Вобаном».