При приближении Карла Петр уехал в Новгород в уверенности, что шведы вторгнутся в Россию и что надо готовить русские крепости к обороне. Увидевшись со своим союзником королем Августом (в м. Баржах), Петр заключил с ним новый договор о том, как им держаться вместе против Карла.
Согласно с этим договором, все последующие годы Петр вел войну в двух разных областях. Во-первых, он помогал Августу в Речи Поспалитой. Во-вторых, Петр отдельно от своего союзника, предпринял завоевание Финского побережья и вообще старых Ливонских земель (Эстландия и Лифляндия), пользуясь тем, что главные силы Карла были отвлечены на Польшу. Шереметев разорил страну, разбил два раза шведский корпус генерала Шлиппенбаха (при Эрестфере и Гуммельсгофе) и взял старые русские города Ям и Копорье. Сам Петр осенью 1702 г. явился при истоках р. Невы и вял шведскую крепость Нотебург, стоявшую на месте старого новгородского Орешка. На весну 1703 г. русские спустились к Невским устьям и взяли, при впадении р. Охты в Неву, шведское укрепление Ниеншанц. Пониже этого укрепления на Неве, в мае 1703г., Петр заложил Петропавловскую крепость и под ее стенами основал город, получивший имя «Питербурха», или Санкт-Петербурга. На Ладожском озере (точнее, на р. Свири) строились наспех морские суда и в том же году были спущены на воду. Осенью этого года Петр начал работы на Котлине-острове для постройки морской крепости Кроншлота (нынешнего Кронштадта). Эта крепость стала гаванью для нового Балтийского флота. В 1704 г. были взяты сильные шведские крепости Дерпт (Юрьев) и Нарва. Таким образом, Петр не только приобрел для себя выход на море в своем «парадизе» Петербурге, но и защитил этот выход рядом твердынь с моря (Кроншлот) и с суши (Нарва, Ям, Копорье, Дерпт). Допустив Петра до такого успеха, Карл сделал неповторимую ошибку, которую он задумал загладить тогда лишь, когда справится с другим своим неприятелем Августом.
Годы 1707 и 1708. К началу 1707 г. Августу пришлось прекратить свою борьбу с Карлом XII. Несмотря на русскую помощь, Карл изгнал, Августа из Речи Поспалитой, затем вторгнулся в Саксонские владения Августа. Шведы в конце 1707 г. начали свой поход в Московское государство.
Тяжелые годы войны утомили народ, вызывали ропот, а на окраинах государства даже бунты. Еще в 1705 году произошел мятеж в Астрахани против «бояр и немцев». Он был подавлен скоро. С 1705 г. началось движение среди башкир за Волгою и перешло понемногу в открытый бунт, с которым воеводы не могли сладить до 1709 г.
В 1707 г. впервые получил Петр донос на малороссийского гетмана Ивана Мазепу в том, что он сноситься с польским королем Станиславом и желает изменить Москве. Он был доволен гетманом и не поверил доносу. Но донос повторился в 1708 году; на Мазепу доносили важные лица: генеральный (главный) судья малороссийский Кочубей и один из малороссийских полковников Искра. Было произведено следствие; донос не был доказан, и доносчики были выданы Мазепе и казнены им. Однако гетман действительно готовил измену и сносился с врагами Петра.
В самом начале 1708 г. Карл XII взял г. Гродно, где стояли тогда русские войска, и оттуда двинулся по направлению к Москве. С ним было более 40000 отборного войска и, кроме того, он ждал к себе на помощь из Лифляндии генерала Левенгаупта с 16000 солдат и военными запасами. На дороге при с. Головчине и в Могилеве овладели переправою через Днепр. Петр ожидал их марша к Смоленску; но вместо этого Карл пошел на юг в Малороссию в расчете на измену Мазепы, о которой Петр еще не знал. Левенгаупт со своим войском остался теперь позади Карла и должен был его нагонять. Сообразив это, Петр не дал им соединиться: он напал на Левенгаупта на р. Соже, при дер. Лесной (в сентябре 1708 года), и разбил его отряд, положив на месте более половины его людей и отняв весь обоз (5000 повозок). Карл остался без пороха и провианта. Он и в Малороссии не нашел того, чего ожидал. Когда пришло время Мазепе соединиться открыто со шведами, русский полководец Меншиков узнал про его измену и едва не схватил его самого. Мазепа убежал к Карлу лишь с небольшим отрядом казаков, а русские войска штурмом взяли гетманскую столицу Батурин и предупредили возможность восстания Украины против Москвы. Карл и Мазепа расположились на зимовку в Малороссии (между Ромнами и Гадячем), а русские войска окружили их своими отрядами. Население же Малороссии осталось верным Москве и смотрело на шведов, как на врагов.
Кампания 1708 года окончилась, таким образом. Без успеха для Карла. Расчеты его на Мазепу не оправдались; подкреплений он не получил и был далеко от Москвы. Петр же мог многому радоваться. Его войска одержали крупную победу при Лесной, и везде, где им приходилось сражаться со шведами, они оказались исправными и храбрыми. Малороссию Петру удалось удержать в повиновении. Петр воспрянул духом и бодро готовился к дальнейшей борьбе с Карлом, так как видел затруднительное положение своего пока непобедимого врага.
Полтавская битва. Настал 1709-й год. Карл не раз со своих зимних квартир нападал на русские войска, стараясь, овладеть дорогою к Москве. Но до весны решительных действий не было. Весною же Карл направился на берега р. Ворсклы и осадил малороссийский город Полтаву. Это была битва крепость, устроенная на случай татарских нападений с «дикого поля». Если бы шведы завладели ею, они могли бы выйти на «поле» и оттуда идти к Москве или же завязать сношения с татарами и турками. Петр боялся еще и того, что шведы через Белгород пойдут на Воронеж, где были собраны корабли и сосредоточены запасы хлеба. Так как у Карла было мало пороха, то бомбардировать Полтаву он не мог, а приступы ему не удавались, ибо гарнизон мужественно держался. Осада Полтавы затянулась. Тогда Петр, собрав все свои силы, решил прийти на выручку Полтавы и дать Карлу XII решительный бой. Битва произошла 27-го июня 1709 года близ Полтавы. Оба государя лично участвовали в бою и подвергались большой опасности. Со стороны шведов в бою было до 30000 человек, со стороны русских 42000. У шведов была слаба артиллерия: по недостатку пороха они могли ввести в дело только 4 пушки. К полудню сражение решилось в пользу русских. Шведы были разбиты. Половина их армии была перебита или взята в плен под Полтавою, а половина бежала вдоль Ворсклы к Днепру, к с. Переволочне, и там, настигнутая русскими, сдалась (1-го июля) Меншикову. Русские потеряли убитыми и ранеными менее 5000 человек.
Карл утратил всю свою армию, утратил свою славу. Раненный еще до Полтавской битвы, он был ушиблен в бою и полубеспамятстве был спасен своей свитою, доставившей его в Переволочну. Там его успели перевезти через Днепр, и он с Мазепою скрылся в турецких пределах. Судьба Швеции была решена. До Полтавской битвы Швеции принадлежало главенство на Балтийском море и вообще в северной Европе. Полтавская битва передала это главенство Москве и Петру Великому; в этом и состоит ее значение в истории России и Европы.
Громадное значение Полтавской победы поняли не только русские, но и все враги Швеции, явные и тайные. Петр тотчас после победы перевел свои войска к Балтийскому морю и начал завоевание Лифляндии и Финляндии. В то время им были взяты Рига, Пернов, Ревель, Выборг (1710). Русский флот вышел из Финского залива в открытое море и соединился для действий против Швеции с датским. Дания и Саксония снова объявили войну шведам; снова Август Саксонский стал польским королем. Несчастная Швеция потеряла все свои завоевания и должна была думать лишь о собственном спасении. Она была, как будто оставлена своим королем, который жил в Турции и, не думая о возвращении домой, усердно ссорил турок с Петром Великим.
Старания Карла XII удались, и в конце 1710 года Турция объявила войну России. Узнав о враждебных намерениях турок, Петр решился сам напасть на них, а не ждать нападения. Давно уже православные подданные султана (греки, славяне, валахи, молдаване), приезжая в Москву за помощью и пособиями, звали русских на Балканский полуостров и говорили, что стоит московскому войску показаться на Дунае, как там последует восстание всех православных народностей против турок. Такие речи говорились и Петру, причем он имел положительные обещания князей («господарей») Молдавского (Кантемира) и Валашского (Бранкована), что они помогут русским. Увлекшись всеми этими обещаниями и рассчитывая на помощь короля Августа, Петр с 40000 войска быстро пошел к Дунаю (весною 1711 года). Но Август не прислал своих войск, а господари не приготовили обещанного провианта, и русские войска оказались в трудном положении в знойных степях на дороге к Дунаю. Кроме того, турки, давно готовые к походу на Россию, встретили русских на севере от Дуная и не допустили армию Петра до дунайских берегов. Только один отряд русской конницы (генерала Рене) дошел до самого Дуная и занял г. Браилов. Главные же силы Петра и сам он были окружены у р. Прута громадным войском турок (200000 человек). Без хлеба и воды, измученные походам и боями, русские войска должны были бы положить оружие, если турецкий главнокомандующий (визирь) не согласился начать переговоры о мире. В два дня мир был заключен, причем Петр уступил туркам Азов и окружающие земли, приобретенные от турок по договору 1700 года. Это было, конечно, горько; но Петр ожидал худшего и считал, что очень счастливо избавился от грозившего ему и его армии плена и позора.