Хотя выбрали и укрепили поле предстоящей битвы русские, у шведов были свои планы, как склонить военную удачу на свою сторону. Они собирались под покровом ночи неожиданно напасть на русские редуты, захватить их и уже оттуда атаковать русский опорный пункт; шведская кавалерия должна была обойти ретраншемент Петра с севера, отрезав русским войскам пути отступления. Однако с самого начала сражение пошло не по плану Карла. Его пехота слишком долго ждала, пока кавалерия выстроится в колонны, и элемент неожиданности был упущен. Тем не менее солдатам все равно был отдан приказ выдвигаться на поле боя. Однако, дойдя до русских редутов, шведские пехотинцы столкнулись с неожиданной проблемой. Им удалось быстро захватить два первых недостроенных укрепления, но защитники третьего редута оказали противнику ожесточенное сопротивление, и между атакующими колоннами шведов появились разрывы. В то время как генерал-майор К. Г. Роос со своими солдатами штурмовал третий редут, остальная шведская пехота продолжила наступление на оставшиеся редуты. Некоторые из этих укреплений были взяты, и русские были вынуждены отступить к своему опорному пункту. Шведская пехота и кавалерия сгруппировались к западу от русского ретраншемента и стали ждать прибытия отряда Рооса. Однако у Рооса дела обстояли плохо. Хотя его людям и удалось захватить третий редут, русские быстро поняли, что этот отряд оторван от основных шведских сил. Солдаты Рооса были окружены и не смогли прорваться к своим. К 9 часам утра треть шведской пехоты сдалась в плен, так и не приняв участия в решающем бою.
В финальной стадии Полтавской битвы шведы, выстроившись в длинную линию, повели наступление на находившиеся перед ними русские укрепления. Воодушевленные известиями о капитуляции Рооса, русские войска выдвинулись навстречу противнику и силами правого фланга атаковали шведскую пехоту, пытаясь отрезать ее от кавалерии. Шведская конница не могла пробиться на выручку к своим, но и русские не могли сломить сопротивление солдат Карла. Исход боя решили свежие русские части: они зашли шведам в тыл и смяли противника. После долгого и утомительного похода на юг Карл не мог позволить себе роскошь оставить какие-то полки в резерве; ему нечем было ответить на этот удар. Раненого шведского короля на носилках вынесли с поля боя и переправили на территорию Османской империи, а остатки его армии попытались выбраться из окружения и последовать за ним. Однако русские, вновь занявшие свои редуты после капитуляции Рооса, перекрыли шведам обратный путь к обозу; разрозненные отряды, отступавшие через полтавские болота, преследовались казаками. Всего на поле боя шведы потеряли около 6900 человек убитыми, и еще 2800 были взяты в плен. Потери русских составили 1345 человек убитыми и 3200 ранеными280. Когда шведы пустились в бегство, русские драгуны, как в битве при Лесной, быстро организовали преследование противника, настигнув его у деревни Переволочная на Днепре. Там, не имея возможности организованно переправиться на турецкую территорию, остатки шведской армии капитулировали. На состоявшемся после боя пиру Петр провозгласил тост за своих учителей в ратном деле – присутствовавших в царском шатре пленных шведских офицеров.
Карта 10. Полтавская битва; расположение армий перед началом боя (взято из книги А. Констама «Poltava 1709: Russia сomes of age» [Konstam 1994])