Это была первая победа русских над шведским регулярным войском, куда более многочисленным. Битва под Лесной необычайным образом подняла дух русских воинов, в ней следует искать начало всех последующих побед, поэтому ее в дальнейшем и стали именовать матерью Полтавской баталии. Иные мудрецы даже подыскали обоснование сему необычайному наименованию: от двадцать восьмого сентября тысяча семьсот восьмого года до двадцать седьмого июня семьсот девятого года — ровно девять месяцев!
Надеясь легко захватить Украину с помощью мятежных казаков, Карл весною следующего, тысяча семьсот девятого, года подошел к Полтаве. Когда приступом взять ее не удалось, он плотно обложил город и отбил все попытки нападения с большим уроном для русской стороны. Совет генералов при царе решил, что надобно облегчить положение осажденного гарнизона и попытаться разбить шведов по частям. Седьмого мая генерал-майор Белинке с отрядом конницы и пехоты отправился вниз по реке Ворскле, дабы с тыла обойти укрепления Опошни. Генерал князь Меншиков взялся непосредственно руководить штурмом вражеской крепости, для этого ночью навел два моста через Ворсклу и, невзирая на огонь шведских пушек, на рассвете переправил по ним полки, а кавалерию — вплавь. Генерал князь Репнин тем временем следил издали, чтобы поспешить на помощь туда, где противник обрушится с особливым ожесточением. Люди Меншикова с одними саблями ворвались в шведские укрепления, выбили оттуда четыре эскадрона кавалерии и три сотни пехотинцев и преследовали их до Опошни. Шведы запалили пригород и укрылись в крепости. На помощь им из Будища поспешил сам король с семью полками. Генерал-майор Белинке не успел подойти вовремя, и Меншиков в полном порядке переправил по тем же мостам солдат назад. В сражении шведы потеряли шестьсот солдат, две пушки с боеприпасами, два знамени и два барабана. В плен угодил майор, три капитана, поручик, прапорщик и около трехсот унтер-офицеров и рядовых, русские же потеряли около шестисот убитыми и ранеными.
С той поры русские уже не давали покоя осаждающим Полтаву. Они беспрестанно нападали на сторожевые посты, то и дело выбивая их из отдельных редутов. Однажды ночью они переправились через Ворсклу, перебили караульных и угнали две тысячи шведских коней, что паслись на лугу. Гарнизон Полтавы по ночам часто делал вылазки, разбивал отряд-другой, а за спиной у шведов русские на глазах противника день и ночь возводили укрепления и в нескольких сотнях шагов от моста строили новые редуты. В это же время в Польше генерал-фельдмаршал Гольц разбил полки бобруйского старосты Сапеги, что еще больше придало отваги русской армии, предвещая успехи в будущем.
Четвертого июня Петр прибыл из Троицкого городка и принял на себя верховное руководство военными действиями полтавской армии. Подполковник Юрлов прислал известие, что он-де с солдатами находится в плену в Сенжарах и что противник там не очень силен. Туда направили генерал-лейтенанта Генскина с отрядом драгун. Увидев идущих на выручку, Юрлов напал на караульных, перебил их и вышел к своим. Пятнадцатого июня генерал-лейтенант Ренне с несколькими отрядами драгун переправился через Ворсклу неподалеку от расположения шведских обозов. Он послал туда пятьсот вовсе не обученных воинов, чтобы выманить шведов из укреплений. Сам шведский король с шестью полками бросился на них и гнался до самого леса, где Ренне с хитрым умыслом укрыл в засаде драгун. Те принялись палить по ним столь «великими залпами», что шведы смешались и обратились в бегство, причем русские преследовали их по всему открытому полю, многих перебили, а затем без больших потерь переправились назад через Ворсклу.
Но все эти мелкие стычки были только прелюдией и подготовкой к генеральному сражению, которого желали как честолюбивый, окрыленный добрыми надеждами русский царь, так и взбешенный и уязвленный шведский король. В ночь на двадцать четвертое июня он с небольшим отрядом сопровождающих выехал разведать русский лагерь. Четыре сторожевых казака, по привычке небрежно развалившись, сидели у костра. Увидев их, Карл соскочил с коня и собственноручно застрелил одного из них. Но остальные в свой черед успели выпалить из мушкетов и ранили короля в ногу. Рана оказалась серьезной, и как знать, может, и она имела значение в великой битве, которая произошла двадцать седьмого июня.
Ранним утром, еще затемно, шведы внезапно напали на русских, чтобы не только сбить их кавалерию, но и занять укрепления. Но русские держались так стойко, что оставили только два начатых ночью и еще не законченных редута, а остальные удержали, отрезали на правом крыле шведской армии шесть батальонов пехоты и несколько десятков кавалерийских эскадронов, загнали их в лес и захватили четырнадцать знамен и штандартов. Карл приказал остальным полкам поспешать на помощь; хотя полки эти крепко побили и потеснили русских, но рассеять их не смогли. Затем на отрезанных в лесу шведов напали генералы от кавалерии — князь Меншиков и генерал-лейтенант Ренцель с пятью полками конницы и пятью батальонами пехоты, наголову разбили их и взяли в плен генерал-майора Шлиппенбаха. Генерал-майор Розен с остатками шведов укрылся у подножия редутного холма, но, окруженный Ренцелем, вынужден был сдаться. Заметив в шведских рядах замешательство, Петр послал полковника Ивана Голицына с тремя батальонами в монастырь на горе, чтобы установить связь с городом, где бы в случае неудачи можно было укрыться. Остальное войско выстроил к бою и приготовился «с божьей милостью» двинуться на главный корпус противника. Однако тот не дождался нападения русских, а выступил сам — так в девять часов утра завязалась генеральная баталия левого крыла русских с правым шведов; вскоре она разгорелась по всему фронту. Всего часа два длился этот первый главный бой. Русские дрались столь храбро, что шведы вынуждены были укрыться в лесу, где они перед этим выстраивались. В плен попали генерал-майор Штаккельберг и Гамильтон, а потом и фельдмаршал Рейншильд и принц Вюртембергский со многими полковниками, офицерами и солдатами, которые сдались вместе с ружьями и конями. На поле боя насчитали девять тысяч двести тридцать четыре вражеских трупа, кроме того, многие пали в окрестных лесах и полях. Шведский король приказал нести себя в бой на носилках, найденных потом простреленными. Да и русский царь, не щадя своей августейшей персоны, все время находился в первых рядах, показывая подчиненным славный пример мужества. Шапка его была прострелена, и в седле нашли застрявшую пулю.
Преследовать бегущих шведов отрядили командира гвардии князя Голицына и генерал-поручика Боура с полками драгун, а на другое утро еще и князя Меншикова. Петр устроил в своей палатке пир для своих, а также и для пленных генералов. Шведский государственный канцлер граф Пипер, видя, что битва проиграна и спастись все равно невозможно, вместе с королевскими секретарями Цедергельмом и Дибеном явился верхом в Полтаву и также был приглашен на устроенное царем пиршество, где уже сидели фельдмаршал Рейншильд и прочие шведские офицеры. Петр воздал хвалу Рейншильду за его отвагу и воинское искусство, пожаловал ему свою шпагу и дозволил носить ее. Двадцать восьмого июня в Полтаву явился шведский генерал-майор Мейерфельд якобы принести от имени короля комплимент по случаю победы. Но у него не было ни королевского послания, ни паспорта, и царь приказал взять его в плен. Позднее Мейерфельда отправили в Стокгольм в обмен на плененного в Нарвской битве генерал-майора Бутурлина.
Двадцать девятого июня русские отслужили благодарственный молебен по случаю одержания победы и трижды палили из мушкетов и пушек. Тридцатого июня сам царь с войском двинулся преследовать разбитого противника. Но шведы, оставив обозы и имущество, бежали столь поспешно, что Меншиков лишь тринадцатого нагнал их у Днепра, где они расположились на отдых у подножия какой-то горы, неподалеку от Переволочны. От пленного квартирмейстера дознались, что Карл в сопровождении нескольких сотен конных всего лишь за три часа до этого с превеликим трудом переправился через Днепр, взяв с собою генерал-майора Шпара и Лагеркрона, а командующим оставленным войском назначил генерала Левенгаупта. Предатель Мазепа еще ранее Карла с несколькими сотнями казаков переплыл Днепр и удрал в турецкие владения. Меншиков с девятью тысячами солдат, не мешкая, подошел к Переволочне и потребовал, чтобы шведы сдались, иначе пощады им не будет. Договор о сдаче подписали рижский губернатор генерал граф Левенгаупт и князь Меншиков. Русские взяли в плен четырнадцать тысяч тридцать солдат, по большей части конных, со всем оружием, артиллерией, казной, знаменами, штандартами и барабанами.
Так в руки русского царя попала та прославленная армия, которая, грабительски колеся по Саксонии, перепугала уже всю Европу; из тех же конных, что сопровождали короля Карла, убегающего в Турцию, преследующие русские убили две сотни, а в плен взяли двести шестьдесят человек вместе со многими высшими офицерами. От этого удара Карл уже не оправился.