Но Петр предвидел другое. «Шведы могут еще раз-другой побить нас, — говорил он. — Но у них же мы научимся побеждать их». Русская армия приобретала боевой опыт. Она готовилась к решающему сражению.
В 1706 году Карл XII разбил польского короля Августа II, занял Краков и Варшаву и двинулся в глубь русской территории. Мечтая о мировом господстве, шведский король надеялся захватить Москву, расчленить Россию и подчинить её шведскому владычеству. Первоначально Карл выбрал прямой путь на Москву через Смоленск — «ворота Москвы».
Считаясь с военным превосходством противника, Пётр приказал отходить на восток, ослабляя врага «малой войной», то-есть боевыми действиями мелких отрядов. Сопротивление оказывали не только арьергарды отступавшей русской армии, но и всё население. Жители сёл и городов прятали продовольствие и скот в лесах, жгли хлеб и фураж, нападали на арьергарды и одиночных шведских солдат.
В сентябре 1708 года Карл приказал своей армии повернуть на Украину. Он вошёл в соглашение с украинским гетманом — изменником Мазепой, который рассчитывал поднять на восстание против Петра запорожское казачество и весь украинский народ.
Но украинские крестьяне подняли войну не против Петра, а против иноземных захватчиков.
Гетман Мазепа был свергнут и бежал к шведам. Новый гетман собрал большое казацкое войско и привёл его к Петру. Многие из ушедших с Мазепой казаков вернулись с повинной и храбро сражались со шведами.
Положение Шведской армии на Украине становилось все более тяжёлым. Она страдала от голода, от непрерывных дождей, размывших дороги, от неожиданно ранних морозов.
Шедший на соединение с Карлом корпус генерала Левенгаупта был разбит русскими у деревни Лесной.
Эту победу Пётр считал «первой пробой солдатской» и называл её «матерью Полтавской баталии».
В апреле 1709 года Карл подошёл к Полтаве, надеясь захватить её и двинуться, на Москву. Комендант Полтавы блестяще организовал оборону города. На помощь Полтаве поспешил со значительными силами и сам Пётр. Тайными тропами русский отряд пробрался через болото и дружным штыковым ударом пробился на помощь осаждённому гарнизону.
Войска Петра в это время перешли реку Ворсклу и начали готовиться к генеральному сражению.
Накануне сражения, 26 нюня 1709 гола, Пётр объехал полки и призвал русских солдат стойко отразить натиск шведов, считавших себя непобедимыми.
Вечером в войсках был прочитан знаменитый приказ Петра:
«Войны! Вот пришёл час, который решит судьбу отечества. Итак, не должны вы помышлять, что сражаетесь за Петра, но за государство, Петру вручённое, за свой род, за отечество. Не должна вас также смущать слава неприятеля, будто бы непобедимого, которой ложь вы сами своими победами над ним неоднократно доказали. А о Петре ведайте, что ему жизнь его недорога, только бы жила Россия в блаженстве и славе для благосостояния вашего».
Пётр так построил редуты (полевые укрепления), чтобы они могли подольше задержать наступающих шведов и сохранить боевые порядки русских войск. Между двумя лесками были устроены шесть редутов вдоль поля битвы и четыре — перпендикулярно к ним.
На рассвете 27 июня шведы стремительной атакой двинулись на русские полки, но встретили сильный огонь русских пушек с редутов и ружей с высоты валов. Прорыв через редуты дорого обошёлся шведам. Ослабленные, они подошли к основным русским силам, построившимся для встречи с врагом.
Закипел бой. Пётр зорко следил за ходом боя, появляясь в самых опасных местах. Его чёрная треуголка и седло были прострелены. Одна пуля попала в грудь, но расплющилась, ударившись о нагрудный крест.
Два часа шёл рукопашный бой. Натиск русских войск был так силен, что шведы дрогнули и побежали. «Непобедимые господа шведы скоро хребет показали», — с иронией писал впоследствии Пётр о паническом бегстве шведской армии.
Поле сражения было завалено трупами. Шведский король, раненный осколком ядра, бежал в Турцию. Около 20 тысяч шведских солдат и все генералы Карла XII сдались в плен. Разгром шведов был полный.
Поражение под Полтавой нанесло поенной славе шведов тяжёлый улар. Но Карлу XII удалось поднять против России Турцию. В 1711 году большая турецкая армия подошла к русским границам и окружила на реке Прут русское войско. Не имея боевых припасов и продовольствия, русская армия вынуждена была пойти на мир с Турцией. Пётр вернул Турции Азов, но сохранил живую силу своей армии.