Поручив Шереметеву, Бауру и Инфланду «заматывать» армию шведского короля у Стародуба, Петр с легким отрядом в 12 000 человек (из коих 7000 драгун) пошел навстречу Левенгаупту и 28 сентября наголову разбил его пятнадцатитысячный корпус в кровопролитном сражении при Лесной. Бой длился 10 часов с перерывом. Наш урон – до 4000 человек – треть всего состава. Упорно дравшиеся шведы лишились 8000 убитыми и ранеными, 1000 пленными, 44 знамен, 17 орудий и всего обоза с припасами для армии Карла XII. Князь Репнин заслужил здесь прощение, а Петр называл впоследствии Лесную – «матерью Полтавской победы».
Значение этого дела было громадно, и прежде всего в моральном отношении. Это была первая наша победа над шведами в превосходных силах Материальные ее последствия были тоже очень важны, она лишала шведов столь нетерпеливо ими ожидавшихся боевых и жизненных припасов – в частности пороха. И под Полтавой шведская артиллерия будет молчать…
На Украине шведского короля ждали все новые разочарования. Мазепа – по настоянию которого был, собственно говоря, предпринят этот злополучный поход – привел с собой всего 3–4 тысячи разного сброда. Малороссийские казаки, не говоря уж о донских, остались верны России. Заготовляемые запасы были уничтожены русскими драгунами, жители бежали, вместо обетованной земли шведы попадали в пустыню.
Соединившись с остатками войск Левенгаупта и перейдя Десну и Сейм у Батурина, Карл XII расположил свою армию у Гадяча, Ромен и Лохвицы. Русская армия, следуя в общем параллельно шведам, шла на Глухов и Путивль и стала на зимние квартиры одновременно со шведами в середине ноября у Лебедина. Оттуда были высланы отряды к Веприку, Миргороду, Полтаве и Нежину. Такое охватывающее положение давало возможность постоянно тревожить шведов внезапными набегами всю зиму.
Чтоб выйти из своего затруднительного положения, шведский король решил овладеть Белгородом, важнейшим узлом дорог Южной России. Однако оба его поиска в этом направлении потерпели неудачу. В первый раз, в декабре – геройское сопротивление импровизированной крепостцы Веприк, в конце концов взятой, нарушило все расчеты шведов и сорвало их маневр. Во второй раз, в конце января – тому воспрепятствовали внезапная оттепель, украинский чернозем, в котором увязли артиллерия, обоз и неутомимые, всюду поспевавшие и везде побеждавшие петровские драгуны.
Зима с 1708 на 1709 год была лютой, и шведской армии, терпевшей крайнюю нужду во всем и расположившейся частью – за недостатком квартир – биваком в степи, пришлось испытывать то же, что испытывала за три года до того русская армия в Гродно. Мало-помалу, постоянными налетами, к концу зимы русским удалось вытеснить шведов из их первоначального квартирного расположения и заставить их стать между реками Пселом и Ворсклой.
К весне 1709 года положение шведов сделалось критическим. Армия их уменьшилась, боевые припасы иссякли, надежды на восстание в Малороссии не оправдались. Турция все не решалась объявить войну России, Лещинский не был в состоянии оказать помощи… Находясь в крайнем положении, Карл XII решил осадить Полтаву, послушавшись совета Мазепы, утверждавшего, что в Полтаве шведы найдут продовольствие и большие запасы снаряжения. Король надеялся этим заставить Петра I поспешить на выручку гарнизона и принять битву. Спасти шведов и вывести их из малороссийской западни могла лишь победа. Пути к отступлению были отрезаны, мостов на Днепре не было.
25 апреля Карл осадил Полтаву. Гарнизон под начальством храброго полковника Келина мужественно встретил сильнейшего в пять раз противника. Два месяца длилась геройская оборона. Все штурмы были отбиты, Карл XII лишился примерно пятой части своей армии, израсходовал все боевые припасы и утомил окопными работами свои и без того истощенные войска. Гарнизоном отбито три штурма, из коих последний стоил шведам 1676 человек. Шведская армия надорвала здесь свои силы. Конница Меншикова с середины мая производила диверсии в виду крепости. 15 мая гарнизон мог получить подкрепление в 900 человек и переговариваться с драгунами путем записок, вкладывавшихся в незаряженные бомбы. Осада длилась с 25 апреля по 27 июня – 63 дня. Урон гарнизона за это время – 1186 убитыми и 1720 ранеными, без малого 3000 – две пятых всего состава. Вступив в Полтаву, Петр I снял шляпу перед Келиным.