В мае шведские войска сумели подвести осадные линии к самой крепости. Почти ежедневно они штурмовали город. Мужественный гарнизон стойко и самоотверженно оборонял свои позиции. Одновременно велись работы по укреплению внутренней линии обороны крепости. В трудное осадное время комендант А. С. Келин, проявляя военный талант и кипучую энергию, умение максимально использовать боевое настроение и патриотический дух защитников Полтавы, верил в победу и категорически отвергал требование Карла XII сдать город.
Вместе с тем положение Полтавы с каждым днем усложнялось. Гарнизон города, неся потери, почти не пополнялся, порох и боеприпасы исчерпывались.
Русское командование предпринимало меры для того, чтобы облегчить положение осажденных. В первых числах мая русские войска под командованием А. Д. Меншикова нанесли ряд ударов по вражескому лагерю, неоднократно атаковали шведские гарнизоны и освободили Опошню и Великие Будищи. 15 мая русское командование направило к Полтаве подкрепление во главе с А. Головиным. Воспользовавшись замешательством врага, 1200 русских солдат, переодетых в шведскую форму, сумели проникнуть в Полтаву и доставить защитникам города по мешку пороха каждый. Через несколько дней отряд русских гренадеров уничтожил шведский редут у моста через Ворсклу.
Одновременно главные силы русской армии сосредоточивались вблизи Полтавы. В конце мая объединенные войска Б. П. Шереметева и А. Д. Меншикова расположились лагереги у с. Крутой Берег на левом берегу Ворсклы напротив Полтавы. Для поддержания боевого духа гарнизона и жителей города командование русской армией установило с ними регулярную связь, перебрасывая письма, вложенные в пустые ядра. Войско Г. Ф. Долгорукова и казацкие полки вышли на берег Пела, чтобы не допустить продвижения частей шведской армии на север.
Вражеские войска продолжали осаду Полтавы. Особенно сильный штурм выдержал ее гарнизон 1 июня. Обстрел города из пушек вызвал многочисленные пожары, что отвлекало внимание его защитников. Воспользовавшись этим, шведские войска поднялись в атаку. Положение было критическим: шведские знамена уже развевались на крепостных валах, раздавался победный барабанный бой. Но полтавчане, потушив пожары, бросились к валам и в самоотверженном рукопашном бою сломили врага и заставили его отступить. На следующий день они совершили успешную вылазку, разрушив шведские инженерные сооружения и захватив четыре пушки. 4 июня в лагерь у с. Крутой Берег прибыл Петр I и отправил благодарственное письмо защитникам Полтавы.
На военном совете был тщательно разработан план нанесения удара шведским захватчикам главными силами русской армии. Драгуны А. Д. Меншикова должны были переправиться через Ворсклу на две версты севернее Полтавы и атаковать противника с севера. На дивизии А. И. Репнина возлагалась задача атаковать противника из шанцев, К.—Э. Ренне — действовать через с. Петровку, Я.—X. Генскина — освободить с. Старые Санжары. Полкам Г. Ф. Долгорукова и И. И. Скоропадского поручалось выступить от Пела и атаковать шведский лагерь через с. Жуки. Предполагалось также организовать вылазку из Полтавы.
Полностью осуществить этот план не удалось. Сильный дождь помешал наступлению русских войск. Успешными оказались лишь действия на правом берегу Ворсклы. Казацкие полки нанесли ощутимый удар по вражеским силам у с. Жуки. Русские войска овладели с. Старые Санжары и освободили более тысячи пленных из гарнизона Веприка.
В середине июня русское командование еще раз попыталось снять осаду Полтавы без генерального сражения. Но такая попытка не принесла удачи. Тогда было принято решение переправить главные силы русской армии на правый берег Ворсклы и готовиться к генеральному сражению.
20 июня вся русская армия переправилась через Ворсклу и разбила укрепленный лагерь между селами Петровка и Семеновка. Одновременно шесть полков драгун Г. С. Волконского и казацкие полки И. И. Скоропадского передислоцировались в район Решетиловки с целью преградить путь противнику в случае его отступления в западном направлении.
Положение шведской армии под Полтавой с каждым днем ухудшалось. Она испытывала нехватку пороха и боеприпасов, теряла силы на возведении осадных сооружений, уменьшалась численно в результате постоянных вылазок мужественных полтавчан и боевых действий русских войск, казацких полков и партизанских отрядов. Кроме того, шведские войска, осаждавшие Полтаву, сами оказались в окружении. Моральный дух шведских солдат падал.
Генеральное сражение стало неизбежным. Карл XII считал, что ослабевшая от длительной осады Полтава не выдержит решительного штурма, а овладение ею поднимет моральный дух его солдат и обеспечит опорный пункт перед генеральным сражением. 21 июня шведские войска двинулись на штурм Полтавы, но были отброшены мужественными защитниками города. В ночь на 22 июня шведские колонны ринулись на город еще большими силами и в нескольких местах достигли вала. Полтавчане в жесточайшей битве, продолжавшейся до утра следующего дня, отстояли город.
Грозным оружием в руках защитников города становились топоры, косы, камни и колья. Неудача постигла противника и на следующий день. Карл XII, окончательно потеряв надежду захватить Полтаву, прекратил ее осаду и занялся подготовкой армии к генеральному сражению.
Таким образом, все попытки Карла XII овладеть Полтавой оказались безрезультатными. Шведская армия в течение 87 дней осады потеряла 6 тыс. человек. Мужественный гарнизон Полтавы также понес тяжелые потери — погибло более 1600 человек.
Героическая оборона Полтавы, завершившаяся победой ее защитников, стала началом разгрома шведской армии.
Полтавское сражение и его историческое значение. Приближался день генерального сражения. Придавая большое значение месту предстоящей битвы, а также учитывая тактику шведской армии, терявшей свое преимущество в действиях линейным боевым порядком на пересеченной местности, Петр I избрал наиболее удобную позицию у с. Яковицы в 5 верстах севернее Полтавы.
24 мая 1709 г. главные силы русской армии, ранее располагавшиеся у Семеновки, заняли выгодные позиции у с. Яковцы и за одну ночь разбили укрепленный лагерь. Тыл лагеря прикрывал обрывистый берег Ворсклы, левый фланг — Яковецкий лес, правый — глубокие овраги, а перед ним простиралось большое ровное поле, подходившее к Будищанскому лесу. Единственно возможным путем продвижения шведской армии к месту сражения оставалось небольшое пространство (около 1,5 версты в ширину) между Яковецким и Будищанским лесами. По распоряжению Петра I поперек того пути на расстоянии мушкетного выстрела войска возвели 6 редутов и перпендикулярно к ним еще 4 редута (два из них остались недостроенными). Система редутов значительно укрепила позиции русской армии.
Регулярные войска русской армии накануне Полтавского сражения насчитывали 42 тыс. человек. 26 июня передовые батальоны расположились в редутах и начали подготовку к сражению. Основные силы находились в укрепленном лагере. Конница А. Д. Меншикова заняла позицию у линии редутов. Казацкие полки расположились между Малыми Будищами и Решетиловкой, перекрывая путь возможного отступления войск противника на Правобережную Украину. Кроме того, в ходе генеральной битвы им предстояло нанести фланговые удары по неприятелю. Военный совет планировал генеральную битву на 29 июня, рассчитывая на прибытие 3,5-тысячного отряда калмыков, который усилил бы русскую армию.
Шведская армия насчитывала около 30 тыс. человек. Карл XII, убедившись в неприступности Полтавы, передислоцировал свои войска к северо-западу и занял позиции ближе к месту предстоящей битвы. Некоторая часть войск находилась в гарнизонах захваченных городов и местечек, а также охраняла шведские коммуникации вдоль Ворсклы и большой обоз под Полтавой. В генеральном сражении могло принять участие лишь 24 тыс. человек, с помощью которых Карл XII надеялся одержать победу. Решив первым нанести удар по русской армии, он приказал начать сражение 27 июня. Вследствие ранения в ногу, полученного в последние дни осады Полтавы, король не мог передвигаться и поэтому передал командование армией фельдмаршалу К.-Г. Рейншильду, хотя фактически сам продолжал командовать ею. В ночь на 26 июня шведская армия вышла на передовые позиции, чтобы внезапно атаковать русский лагерь.