В два часа ночи 27 июня шведская пехота четырьмя колоннами двинулась на русские редуты, за ней следовали шесть конных колонн. Князь Меншиков, выстроив своих драгун в боевой порядок, двинулся навстречу шведам, желая встретить их как можно раньше и тем выиграть время для подготовки к бою главных сил.
Когда шведы увидели наступавших русских драгун, их конница быстро проскакала в промежутки между колоннами своей пехоты и стремительно бросилась на русскую конницу. В. 3-м часу ночи перед редутами уже кипел горячий бой. Сперва шведские кирасиры потеснили русскую кавалерию, но, быстро оправившись, русская конница повторными ударами оттеснила шведов.
Шведская конница отступила и в атаку перешла пехота. Она направила все усилия на овладение редутами, которые мешали всему боевму порядку продвинуться. Шведы взяли первый и второй передовые редуты. Нападения на третий и другие редуты были отбиты.
Жестокий упорный бой продолжался больше часа; за это время главные силы русских успели подготовиться к бою, а потому коннице и защитникам редутов царь Пётр приказывает отойти на главную позицию у укреплённого лагеря. Однако Меншиков не подчинился приказу царя и, мечтая покончить со шведами у редутов, продолжает бой. Вскоре он всё же был вынужден отступить.
Реншильд произвел перегруппировку войск, стремясь обойти русские редуты слева. После захвата 2-х редутов шведов атаковала кавалерия Меншикова, однако шведская кавалерия заставила её отступить.
Согласно шведской историографии, Меншиков обратился в бегство. Однако шведская кавалерия, подчиняясь общему плану битвы не стала развивать успех.
Во время конного сражения шесть правофланговых батальонов генерала Росса штурмовали 8-й редут, но взять его не смогли, потеряв при атаке до половины личного состава. При левофланговом маневре шведских войск между ними и батальоными Росса образовался разрыв и последние были потеряны из виду. Стремясь найти их, Реншёльд послал на их поиски ещё 2 батальона пехоты. Войска Росса были разбиты русской кавалерией.
Тем временем фельдмаршал Реншёльд, видя отступление русской конницы и пехоты, приказывает своей пехоте прорваться сквозь линию русских укреплений. Приказание это тотчас же исполняется.
Прорвавшись через редуты, основная часть шведов попала под сильный артиллерийский и ружейный огонь из русского лагеря и в беспорядке отошла в Будищенский лес. Около шести часов утра Пётр вывел армию из лагеря и построил её в две линии, имея в центре пехоту, на правом фланге кавалерию Меншикова, а на левом — кавалерию генерала Р. Х. Боура. В лагере был оставлен резерв из девяти пехотных батальонов. Реншильд выстроил шведов напротив русской армии.
Решающий бой
В 9 часов утра шведская пехота, численность которой составляла около 4-х тыс человек, двинулась на стену русской пехоты численностью 22 000 человек. Сначала противники вступили в огнестрельный бой, затем начали рукопашную схватку.
Воодушевляемое присутствием короля, правое крыло шведской пехоты яростно атаковало левый фланг русской армии. Под натиском шведов первая линия русских войск стала отступать, напору противника, по словам Энглунда, поддались Казанский, Псковский, Сибирский, Московский, Бутырский и Новгородский полки. В передней линии русской пехоты образовался опасный прорыв боевого порядка. Царь Пётр I вовремя заметил это, взял 2-й батальон Новогородского полка и во главе его бросается в опасное место.
Прибытие царя положило конец успехам шведов. Порядок на левом фланге восстановлен. Сперва в двух-трёх местах под натиском русских дрогнули шведы.
Вторая линия русской пехоты влилась в первую, усилив напор на противника, а таявшая тонкая линия шведов не получала уже никаких подкреплений. Фланги русской армии охватили боевой порядок шведов. Шведы уже устали от напряжённого боя.
Карл XII пытается воодушевить своих воинов и появляется в месте самой горячей схватки. Но ядро разбивает носилки короля, и тот падает. По рядам шведской армии с молниеносной быстротой пронеслась весть о гибели короля. Среди шведов началась паника.
Очнувшись от падения, Карл XII приказывет посадить себя на скрещенные пики и высоко поднять вверх, чтобы все видели его, но и эта мера не помогла. Расстроенные толпы шведов, потеряв всякий порядок. бежали с поля боя. Впавшего в обморок короля едва успели вывезти с поля битвы, посадить в карету и отправить к Переволочне.
По словам Энглунда, самая трагичная судьба ожидала два батальона Уппландского полка, которые были окружены и полностью уничтожены (из 700 человек в живых осталось несколько десятков).