Летом 1708 года шведская армия под командованием короля Карла XII выступила в поход на Россию, она двигалась на московском направлении. В сражении у Головчина шведы нанесли поражение дивизии генерала Репнина, за что Пётр I разжаловал того в рядовые солдаты (потом царь простит его). Эта мера произвела большое впечатление, особенно на офицеров и генералов.
В июле шведы заняли город Могилёв. На помощь королю с огромным обозом из Риги поспешил её генерал-губернатор Левенгаупт. В то время шведская армия начала испытывать трудности с провиантом и фуражом. Путь на Москву был надёжно закрыт русской армией. На всём пути движения шведов русские уничтожали запасы продовольствия и фуража. В таких условиях шведский король, после разгрома его авангарда под командованием генерала Росса у села Доброе, отказался идти на Смоленск и повернул на юг, на Украину. Там его ждал изменник гетман Мазепа, обещавший Карлу XII поднять против России все украинское казачество и поставить необходимый провиант, фураж и боеприпасы.
Королевская армия все же вышла к русской границе у деревни Стариши. Впереди за реками Вихря и Городня стояла русская армия. Карл XII отказался от мысли дать ей генеральное сражение и окончательно повернул на юг. Пётр I поручил Шереметеву преследовать вражескую армию, а сам повёл войска навстречу корпусу генерала Левенгаупта.
28 сентября 1708 года состоялось сражение у деревни Лесной, победу в котором царь Пётр назвал матерью полтавской виктории. Пётр Алексеевич лично командовал одной из двух колонн «летучего» корпуса русской армии — корволанта. Под его командованием находились Преображенский и Семеновский полки, батальон Астраханского полка и три драгунских полка. Другой колонной (левой) командовал генерал А.Д. Меншиков. Неприятельский корпус был настигнут близ деревни Лесной.
Шведскому военачальнику пришлось принимать бой, который начался с атаки русских. Пётр I с приходом свежей драгунской конницы отрезал противнику дорогу на Пропойск и усилил натиск на шведов. Вечером сражение прекратилось из-за наступивших сумерек и начавшейся вьюги, которая слепила глаза. Левенгаупту пришлось уничтожить остатки своего огромного обоза (большая часть его стала добычей нападавших), и его корпус, преследуемый русской кавалерией, сумел добраться до королевского походного лагеря.
Сражение при Лесной стало одним из самых значительных в ходе Северной войны. Общие потери шведов составили 8,5 тысяч убитыми и ранеными, 45 офицеров и 700 солдат попали в плен. Трофеями русской армии стали 17 орудий, 44 знамени и около 3 тысяч повозок с провиантом и боеприпасами. К королю генерал Левенгаупт смог привести всего лишь около 6 тысяч деморализованных солдат.
Затем наступил день Полтавской битвы — 27 июня 1709 года. Перед этим царь Пётр оказал помощь осаждённой Полтаве и приказал генералу Меншикову уничтожить гетманскую ставку — крепость Батурин со всеми собранными в ней для шведской армии запасами. Сам гетман Мазепа был представлен к уникальной в мировой истории награде — ордену Иуды и предан анафеме.
Из многотысячного украинского казачества Мазепа привёл всего около 2 тысяч человек. Но и те начали разбегаться из походного лагеря шведской армии, узнав о гетманской измене русскому царю. Таких ненадёжных союзников король Карл XII не решился использовать в битве под Полтавой. В ноябре 1708 года на всеукраинской раде в городе Глухове был избран новый гетман — стародубский полковник И.С. Скоропадский.
Русская армия сосредоточилась близ Полтавы. На военном совете 16 июня было решено «дать главную баталию» неприятелю. Полки переправились на правый берег реки Ворсклы и у деревни Яковцы (всего в 5 километрах от осаждённой шведами Полтавской крепости) заняли позицию для предстоящего сражения, которого королю Карлу XII уже невозможно было избежать.
Полтавская битва стала вершиной полководческой славы царя Петра. После личной рекогносцировки местности он приказал поперёк поля построить линию полевых укреплений из шести редутов, на расстоянии ружейного выстрела друг от друга. Затем перпендикулярно их фронту началось возведение ещё четырех (два земляных редута к началу сражения достроить не успели). Теперь в любом случае шведской армии в ходе атаки предстояло двигаться под огнём противника. Редуты составляли передовую позицию русской армии, что было новым словом в истории военного искусства и полной неожиданностью для шведов.
В редутах разместились два батальона солдат и гренадеры. За редутами встало 17 полков драгунской кавалерии под командованием А.Д. Меншикова. За ними расположились пехота и полевая артиллерия. В 3 часа утра произошло столкновение русской и шведской кавалерии, и через два часа последняя была опрокинута. Шведская пехота попыталась прорваться через линию редутов, но сумела овладеть только двумя из них.
20-тысячная шведская армия (ещё около 10 тысяч шведов и мазепинцы — сердюки и запорожцы оставались в осадном лагере для его охраны), наступала 4 колоннами пехоты и 6 колоннами кавалерии. Задуманный Петром I план удался — две шведские правофланговые колонны генералов Росса и Шлиппенбаха при прорыве через линию редутов оказались отрезанными от главных сил и были уничтожены русскими в Полтавском лесу.
В 6 часов утра царь Пётр выстроил русскую армию перед походным лагерем в две линии: пехота в центре, драгунская кавалерия на флангах. Полевая артиллерия находилась в первой линии. 9 пехотных батальонов остались в лагере как резерв. Перед решающей схваткой российский государь обратился к своим воинам со словами:
«Воины! Вот пришёл час, который решит судьбу Отечества. И так не должны вы помышлять, что сражаетесь за Петра, но за государство, Петру вручённое, за род свой, за Отечество… Не должна вас также смущать слава неприятеля, будто бы непобедимого, которой ложь вы сами своими победами над ним доказывали…
А о Петре ведайте, что ему жизнь его не дорога, только бы жила Россия в блаженстве и славе для благосостояния нашего».
Шведская армия также приняла линейный боевой порядок и в 9 часов утра пошла в атаку. В ожесточённой рукопашной схватке шведам удалось потеснить центр русских, но в эти минуты Пётр I лично повёл в контратаку второй батальон Новгородского полка и восстановил положение. В ходе этого боя одна шведская пуля пробила ему шляпу, другая застряла в седле, а третья, попав в грудь, расплющилась о нательный крест.
Русская драгунская кавалерия стала обходить фланги королевской армии, и шведская пехота, видя это, дрогнула. Тогда Пётр приказал подать сигнал к общей атаке. Под натиском русских, идущих в штыки, войска шведов обратились в бегство. Карл XII напрасно пытался остановить своих солдат, его никто не слушал. Бегущих преследовали вплоть до Будищенского леса. К 11 часам Полтавская битва закончилась полным разгромом шведской армии.
Остатки её капитулировали перед русскими у Переволочны, где находилась переправа через Днепр. Переправиться и бежать в Турцию удалось только королю и гетману Мазепе с двумя тысячами человек.
Полтавская победа была добыта «малой кровью». Потери русской армии на поле битвы составили всего 1345 человек убитыми и 3290 ранеными, тогда как шведы потеряли 9234 человека убитыми и 18794 ранеными и пленными (с учётом пленённых у Переволочны). Испытанная в походах по Северной Европе королевская армии Швеции перестала существовать. Полтава продемонстрировала превосходство русского военного искусства на шведским.
Полный разгром короля Карла XII под Полтавой резко изменил международное положение России. Дания и Саксония вновь выступили против Швеции. Были подписаны союзные договоры с Пруссией и Ганновером. Началось изгнание шведов из Карелии, Лифляндии и Эстляндии. В Финляндии русские войска вышли к Ботническому заливу, взяли многие города и крепости. На реке Пелкина в центральной Финляндии разбили шведский корпус генерала Армфельда.
Пётр I записал на свой боевой счёт ещё одну большую победу, на сей раз морскую. Он командовал русским флотом в сражении у мыса Гангут 27 июля 1714 года. Шведская эскадра шаутбенахта Эреншельда была взята на абордаж русскими галерами и скампавеями (лёгкими галерами для действий в прибрежных шхерах). После победы при Гангуте Балтийский флот стал угрожать берегам самой Швеции.
Затем последовали ещё две победы моряков-балтийцев над шведами — у острова Эзель (Сааремаа) и у острова Гренгам (Грансхамнсхольм). Вошедшая в 1720 году в Балтийское море английская эскадра адмирала Норриса с целью припугнуть Россию открыто выступить на стороне терпящей военное поражение