28 апреля наскок на крепость 300 шведов был легко отбит. 29 и 30 апреля 1500 и 3000 шведских солдат атаковали Полтаву, но отступили с большими потерями.
К. Гилленкрок попытался пройти сапами через ров и заложить во рву мины. Работы закончились 14 мая. 6 и 7 мая гарнизон крепости произвел вылазки, уничтожив 300 шведских солдат. Противник попытался ворваться в крепость, но потерял ещё 500 человек. 10 мая в вылазке были убиты ещё 300 захватчиков. Потери гарнизона были намного меньше. Подкоп и закладка мины были обнаружены гарнизоном и уничтожены. В суматохе 1000 русских воинов бригадира Головина из корпуса А. Меншикова прорвались в Полтаву почти без потерь.
Ещё в начале апреля на военном совете русской армии было решено отвлечь внимание Карла от Полтавы ударом на Опошню. Карл отправил на встерчу Росса с четырьмя полками, они были опрокинуты русской армией, но блокаду Полтавы коннице пробить не удалось.
У переправы через Ворсклу с той и другой стороны строились сильные укрепления. К корпусу А. Меншикова шла вся русская армия.
А. Меншиков писал Петру:
«По полученным ведомостям из Полтавы, что неприятель оную крепость уже несколько раз жестоким приступом атаковал и хотя с великим уроном отбит и через вылазки многих людей потерял, однако же до сего времени помянутый город в крепкой блокаде держит, для чего я заблагорассудил, дабы сильную какую подвесить над неприятелем диверсию и оной крепости отдых чинить.»
23 мая К. Гилленкрок попытался взорвать под Полтавским валом новую мину, из которой полтовчане уже выкинули заряд и порох. Разьяренный новой неудачей Карл бросил на штурм 3 000 солдат. Под ураганным огнем шведы потеряли 400 человек и откатились назад. Гарнизон потерял 150 человек убитыми и 200 – раненными. 24 мая шведы атаковали Полтаву со стороны Ворсклы, где вал был ниже, чем в остальных местах. Келин собрал здесь большую часть гарнизона и шведы вновь только убитыми потеряли 400 солдат. У полтовчан погибло 70 человек. Гарнизон совершил за время осады 15 вылазок, и все они были удачны – шведы несли и несли потери.
Кто-то из полтовчан изобрел устройство, вынудившее шведов прекратить минные атаки —
«При Полтаве проходящих сапами земляной вал сделанной машиной с крюками вынуто из сапов 11 человек, без потерь от войск царского величества ни одного человека, да и в сапах найдено тем же инструментом побитых до 24-х, а прочие убежали. Таким образом неприятель сапами действовать крепости отменил и только единым метанием бомб приводил в несостояние, и артиллерию при оной атаке имел малую.»
29 мая «При Полтаве неприятель линию близ Мазуровского вала работаю продолжал и полисады полтавские рубил и ставил внизу горы, хотя с валу Полтавской крепости из ружья и метанием гранат от работы неприятеля отбивали и потерял он 13 человек, рядовых. Однако оную работу старался и в ночи полки трудился. Во время ночи выкинуты были огни, и через всю ночь со стен метали гранаты, и оной линия до городового валу не допущена.»
Душой полтавской обороны был А. Келин. Он был везде, на всех опасных участках, восстанавливал и укреплял вал и полисад, каждую ночь проверял посты – «дабы не пропустить случая неприятелю препядствия чинить; не удалялись бы со своего поста, а подозрительных людей предстовлять бы коменданту; в бою, в стрельбе и прочем, что служит к мужественному противостоянию, слушать паки команды.»
А. Меншиков доносил Петру:
«Келин не проспит Полтавы, и возьмут ее у него разве с его смертью.
О Полтавской крепости доношу, которая зело в доброй содержит себя дифензии и никакого ущерба от действа неприятельского ещё не обретается.»
27 мая 1709 года армия Б. Шереметева соединилась с конницей А. Меншикова под Полтавой и расположилась у деревни Крутой Берег. На другом берегу Ворсклы шведы строили непрерывную цепь бастионов.
Самый сильный штурм Полтавы Карл XII возглавил лично. 1июня началась сильнейшая бомбардировка крепости – Карл понимал, что другого шанса у него, ввиду всей русской армии, не будет.
Крепость загорелась, часть гарнизона и жители тушили многочисленные пожары. Воспользуясь этим, 3 000 шведских солдат с разных сторон пошли на штурм и в нескольких местах взошли на вал, водрузив на нем несколько шведских знамен. В шведском лагере победу ударили барабаны, в Полтаве ударил колокольный набат. На помощь гарнизону пришли все жители Полтавы, включая стариков, женщин и детей – шведы были сбиты с валов и отброшены от крепости, потеряв более 400 человек убитыми. Гарнизон и жители потеряли более 100 человек убитыми и 100– ранеными.
Э. Шабаев описал штурм Полтавы в своей работе «Только б жила Россия»:
«Мортирная батарея повела обстрел башни, было отмечено 5–6 попаданий, но вызвать пожар так и не удалось. Осажденные сбивали огонь водой, загодя припасенной в бочках.