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