Второй период (1707—09). Карл XII, готовясь к вторжению в Россию, довёл численность действующей армии до 95—100 тыс. человек, в том числе в главных силах под его командованием около 60 тыс., в корпусе Левенгаупта в Прибалтике (Рига) — 16—20 тыс., в корпусе Любекера в Финляндии (Выборг) — 12—14 тыс., в корпусе Крассова в Польше — 8 тыс.; кроме того, на флоте — 8—10 тыс. Шведский флот господствовал на Балтийском море. Карл XII ставил своей целью захват Архангельска, Пскова и Новгорода, установление протектората над Литвой, Польшей и Украиной и расчленение России на отдельные княжества. Он начал тайные переговоры с гетманом Украины И. С. Мазепой, который решил перейти на сторону Швеции; шведы рассчитывали также использовать внутренние осложнения в России (восстание в Башкирии, недовольство реакционных кругов феодальной аристократии и духовенства прогрессивными преобразованиями Петра I). Международная обстановка благоприятствовала Швеции: Великобритания отвергла просьбу Петра I о посредничестве в заключении мира со Швецией на умеренных условиях (уступка России Ижорской земли с Петербургом), предотвратила столкновение Швеции с английской союзницей Австрией (из-за Силезии), признала польским королём Станислава Лещинского и подталкивала Карла XII на поход в Россию. Вооруженные силы России были примерно равны силам противника (главные силы в Польше — 57 тыс. человек, корпус генерала Р. Х. Боура в Дерпте — 16 тыс. человек, корпус генерала Ф. М. Апраксина в Петербурге — 25 тыс. человек; кроме того, на флоте — около 6 тыс. человек), но уступали ему в боевом опыте. В конце 1706 на собранном Петром I военном совете старших начальников в Жолкеве было решено не вступать в генеральное сражение на территории Польши, а «дать баталию на своих границах, когда того необходимая нужда требовать будет», при отходе же изматывать противника ударами конницы с тыла и наносить ему контрудары на переправах. Были возведены полевые оборонительные инженерные сооружения и заграждения и отремонтированы крепости на линии Киев — Брянск — Смоленск — Псков. Жители призывались прятать хлеб и уходить в леса с имуществом и скотом, защищаясь от врага с оружием в руках. Борьба против шведского нашествия приобретала характер войны за национальную независимость с участием не только армии, но и горожан и крестьян.
Главные силы шведской армии во главе с Карлом XII выступили из Саксонии осенью 1707, в начальник 1708 вступили в Гродно, а затем, двигаясь через Сморгонь — Радошковичи — Минск, в июне 1708 форсировали Березину и подошли к русской границе. Главные силы русской армии были сосредоточены на московском направлении в районе Могилёва, имея возможность действовать против флангов противника в случае его поворота на Псков — Петербург (предположение Петра I) или на Украину (предположение А. Д. Меншикова). После неудачного для русских сражения 3(14) июля 1708 у Головчина (северо-западнее Могилёва) русская армия отошла за Днепр и сосредоточилась в районе м. Горки. Карл XII, переоценив свой успех и считая русские войска неспособными к сопротивлению, не дождался в Могилёве прибытия корпуса Левенгаупта (16 тыс.), выступившего в июне из Риги с большим транспортом продовольствия и боеприпасов, и в августе двинулся из Могилёва на Смоленск. Однако в боях у с. Доброго 30 августа (10 сентября) и деревни Раевка 9—10 (20—21) сентября шведские передовые отряды потерпели поражения, понеся значительные потери (до 5 тыс. только убитыми). Возникли трудности в снабжении войск продовольствием. Всё это заставило Карла XII между 10(21) и 12(23) сентября в с. Стариши принять решение отказаться от наступления на Смоленск и повернуть на Украину. В конце сентября (начале октября) шведы вышли к Костеничам (по дороге на Стародуб) и остановились здесь в ожидании корпуса Левенгаупта. Однако 28 сентября (9 октября) у деревни Лесной этот корпус был наголову разбит войсками Петра I, потеряв 2/3 своего состава и весь обоз. К этому времени русские войска и флот под командованием генерала Апраксина отразили наступление 2-тыс. отряда генерала Штромберга на Эстляндию и 12-тыс. корпуса генерала Любекера из Выборга на Петербург при содействии эскадры адмирала Анкерштерна (22 корабля), нанесли противнику значительные потери и вынудили его перейти к обороне. Победа на Неве создала условия для дальнейшего усиления Балтийского флота и позволила присоединить к главным силам корпус генерала Боура и 8 полков пехоты и кавалерии из войск Апраксина.
Пётр I направил отряд фельдмаршала Шереметева параллельно движению шведских войск Карла XII на их левом фланге. Предупредив авангарды противника, войска Шереметева предотвратили захват ими Почепа, Стародуба, Новгород-Северского и других городов, в защите которых активно участвовали местные жители. По решению военного совета в Почепе в начале октября полки украинских казаков (около 16 тыс. человек) должны были соединиться с главными силами в Стародубе с тем, чтобы уничтожить шведскую армию до начала зимы. Но неожиданная измена гетмана Мазепы, явившегося в конце октября к Карлу XII, нарушила этот план. По решению военного совета Меншиков с кавалерийским отрядом совершил смелый рейд на резиденцию гетмана г. Батурин, уничтожил заготовленные там большие запасы продовольствия, вооружения и боеприпасов и вывез всю артиллерию (около 300 орудий). Другой базой изменника — Белой Церковью овладели войска генерала Д. М. Голицына, затруднив тем самым прибытие подкреплений к Карлу XII из Польши. Повсеместный отпор шведским захватчикам со стороны украинских крестьян и горожан, расправы населения с «мазепинцами» (например, в Лубнах, Полтаве), верность союзу с Россией подавляющего большинства украинских казаков, к которым вскоре присоединились со своими полками бежавшие от Мазепы полковники Д. Апостол, И. Галаган и другие, определили несостоятельность политических и военных расчётов Карла XII и Мазепы. Обнародование перехваченного письма Мазепы Станиславу Лещинскому окончательно дискредитировало его в глазах украинского народа. Во главе украинского войска были поставлены новый гетман И. И. Скоропадский и возвращенный из ссылки полковник С. Ф. Палий; уже в конце 1708 украинские казаки начали активные действия против шведов на Левобережной Украине. Для обеспечения полной изоляции войск Карла XII от Польши Пётр I в декабре 1708 направил за Днепр к польской границе отряд генерала Г. Гольца, а в Литву на усиление войск литовского гетмана А. Синявского 7 драгунских полков. Сложившаяся на Украине обстановка и дипломатические демарши, подкрепленные демонстрацией Азовского флота, вынудили Турцию и крымского хана прервать переговоры с эмиссарами Карла XII и воздержаться от вступления в войну.
Зимой 1708—09 шведская армия расположилась в районе Прилуки — Гадяч — Ромны — Лохвица. Попытки шведов расширить этот район в ноябре 1708 окончились неудачей из-за сопротивления местного населения при помощи русских войск. На Украине развернулись партизанские действия украинских крестьян совместно с кавалерийскими отрядами русских драгун и украинских казаков. Главные силы русской армии, прикрывая дорогу на Харьков — Белгород, располагались в районе Богодухов — Ахтырка — Лебедин — Сумы. В декабря 1708 были предприняты демонстративные действия против резиденции Мазепы — Гадяча. Шведские войска, выступившие на помощь, не достигли цели, т. к. Шереметев отошёл к Лебедину. В результате шведы потеряли свои базы в Прилуках и Ромнах и 3—4 тыс. человек обмороженными. Двинувшись дальше на В., шведские войска в феврале 1709 достигли Краснокутска, продвинувшись за 2 месяца всего на 80 км и понеся значительные потери. Острый недостаток продовольствия и фуража заставил Карла XII весной 1709 двинуться на Ю. в неразорённую Полтавщину. При отходе шведы жгли населённые пункты и уничтожали мирных жителей. В апреле шведская армия сосредоточилась в районе Полтавы. Попытки взять город были отражены героическим сопротивлением гарнизона крепости (около 4 тыс. человек, 29 орудий и 2,6 тыс. вооружённых жителей) под командованием коменданта А. С. Келина с помощью подошедших главных сил, которые нанесли противнику ряд ударов и сумели ввести в Полтаву подкрепление (1200 чел.) с запасами пороха. Одновременно русские войска и казаки полковника Галагана заняли Запорожскую Сечь и уничтожили там запасы, приготовленные сторонником Мазепы кошевым атаманом К. Гордиенко, который привёл под Полтаву к шведам обманутых им запорожцев (большинство их вскоре разбежалось). Полки Скоропадского заняли переправы на рр. Псёл и Хорол и уничтожили переправочные средства, отрезав шведам пути отступления за Днепр. Тем не менее в апреле 1709 Карл XII отверг предложение Петра I заключить мир с уступкой России Петербурга и Нарвы. 27 июня (8 июля) в Полтавском сражении 1709 русская армия под командованием Петра I и его военачальников В. П. Шереметева, А. Д. Меншикова, Н. И. Репнина и других наголову разгромила шведские войска. Карл XII и Мазепа с немногочисленной свитой бежали в Турцию. Победа под Полтавой явилась поворотным пунктом в С. в.