Не был забыт и моральный фактор при подготовке к бою. Перед войсками служат обедни. Царь объезжает полки и простыми, но энергичными словами напутствует воинов перед сражением. «Действуйте, товарищи, — говорит он, — вера, церковь и Отечество велят вам это». На рассвете 8 июля им зачитают воззвание Петра: «Воины! Вот пришел час, который решит судьбу Отечества. Итак, не должны вы помышлять, что сражаетесь за Петра, но за государство, Петру порученное, за род свой, за Отечество, за нашу православную веру и церковь. Не должна вас также смущать слава неприятеля, будто бы непобедимого, которой ложь вы сами своими победами над ним неоднократно доказали. Пусть вдохновляет вас на битву Господь, наш заступник, и справедливость нашего дела… А о Петре ведайте, что ему жизнь его не дорога, только бы жила Россия в блаженстве и в славе для благосостояния вашего».
Раненный в ходе стычки с казаками, Карл XII не может сесть на коня, но, превозмогая боль, приказывает пронести себя на носилках перед армией. «Завтра вы пойдете к славе! — были его слова. — В лагере московитов вы найдете все, чтобы достойно отпраздновать победу!» Шведская пехота построилась в четыре колонны, за нею следует кавалерия в шесть колонн. 8 июля, в 2 часа, шведы выступают по направлению к русскому лагерю. Извещенный об этом, Меншиков выдвигает им навстречу кавалерию. Нужно выиграть время, так как армия еще не готова. При виде русских драгунов шведская конница, опережая собственную пехоту, бросается на них. Русские под натиском противника отступают, однако контратака Нижегородского драгунского полка решает исход сражения в их пользу. Шведская кавалерия действует позади пехоты. Проявляя осторожность, царь отзывает Меншикова. Тогда шведская пехота идет на штурм редутов. Два первых захвачены. Однако атакующие разделены и остановлены следующими редутами. Попытка обойти укрепления с севера предотвращена русской конницей. Так выигран час. Главные силы армии подготовились к бою. Петр отзывает гарнизоны редутов и конницу. Он готовит противнику встречу артиллерийским огнем. Шведы преодолевают укрепленную линию и продолжают движение вперед. Но едва они достигают поляны, артиллерия сметает их залпом в упор. Замешательство полное, новый залп, уже во фланг, прореживает тесный строй. Ряды противника смешиваются, шведы откатываются к Будищевскому лесу. Восстановив строй, они перегруппировываются на опушке, напротив русского лагеря. Бой прерван, но первый этап остался за Петром. Верный своему принципу «побеждать малой кровью», он нанес противнику значительный урок, тогда как его армия не пострадала. Пока шведы перестраиваются, русская армия выходит из лагеря и разворачивается лицом к противнику.
В 9 часов шведы начинают атаку. Русские идут им навстречу. Начинается рукопашная схватка, которая решит судьбу двух стран. Правый фланг шведов, куда приказал отнести себя Карл, воодушевленный присутствием короля, врубается в первую линию русских. Петр бросается туда во главе одного батальона. Со всех сторон свистят пули. Одна пробивает треуголку Петра, вторая застревает в седле его коня, наконец, третья попадает в большой крест у него на груди. Карл тоже рискует собой. Из окружавших его 24 гвардейцев в живых остаются всего три. Но вмешательство царя оказывается решающим, шведы опрокинуты. В носилки Карла попадает ядро, король падает на землю и теряет сознание. Весть о его гибели с молниеносной быстротой разносится по его армии. И вдруг шведы начинают откатываться назад. Напрасно очнувшийся Карл XII кричит: «Шведы! Шведы!», исход битвы решен. Русская кавалерия преследует и рубит бегущих. Полная победа. На поле битвы остаются 9000 убитых и раненых шведов, 2700 попали в плен, в их числе первый министр короля Пипер и фельдмаршал Реншильд. Русские потеряли 1345 человек убитыми и 3290 ранеными. Вечером этого знаменательного дня Петр устраивает пир для пленных шведских генералов. Он провозглашает тост: «За наших учителей в военном искусстве!» — «Кто же эти учителя?» — осведомляется Реншильд. «Вы, господа шведы». — «В таком случае, ваше величество, вы их достойно отблагодарили!»