Поражение, понесенное под Нарвою, было, действительно, велико. Достаточно сказать, что шведы забрали 10 генералов и всю артиллерию. Но чем сильнее было поражение, тем более изумительную деятельность выказывал Петр, чтобы поправить полученный урон и приготовиться к новым действиям. Письмо за письмом летит от него к его министрам с самыми подробными, доходящими до мелочей приказаниями относительно доставки рекрутов, провианта, снарядов, одежды и т. д. Особенно много доставило хлопот изготовление новой артиллерии вместо потерянной при Нарве. Это дело было поручено начальнику Пушкарского приказа Виниусу, которому Петр сумел внушить такую энергию, что тот, несмотря на свой 70-летний возраст, работал и скакал из Москвы в Новгород, Псков и даже Сибирь, как молодой человек. Письма к Виниусу носят яркий отпечаток лихорадочной деятельности, которую Петр проявил в это время. Он не стесняется никакими средствами для достижения цели. Виниус жаловался, что городовые бургомистры плохо высылают деньги, требуемые с них Пушкарским приказом на постройку пушек. «Бурмистрам скажи, – пишет царь, – и сие покажи, что если не будут за их удержкою станки готовы, то не только деньгами, но и головами платить будут». К ноябрю 1701 года было приготовлено 300 орудий, набрано 10 драгунских полков, усилена пехота. Войска, отступившие от Нарвы к Пскову и Новгороду, успели отдохнуть и с конца 1701 года перешли в наступление. 29 декабря 1701 года боярин Борис Петрович Шереметев, выступив из Пскова, разбил шведов при Эрестфере, алетом следующего, 1702 года нанес им жестокое поражение при Гуммельсгофе и затем принялся разорять и опустошать Лифляндию, пользуясь полной свободой действий, благодаря тому, что Карл удалился в глубь Польши, желая по своей тактике покончить прежде с Августом. Этою свободою и воспользовался Петр. Осенью 1702 года он начал завоевание Ингрии (теперешняя Петербургская губерния) осадой города Нотебурга (старинного новгородского пригорода Орешка), крепости, расположенной при истоке Невы из Ладожского озера. Взяв его 11 октября, Петр переименовал его (как ключ к морю) в Шлиссельбург (Schlussel – ключ).
О взятии его Петр писал Виниусу: «Правда, что зело жесток сей орех был, однакож, слава Богу, счастливо разгрызен. Артиллерия наша зело чудесно свое дело исправила». Весной следующего, 1703 года, Петр от истоков Невы двинулся к ее устью и 1 мая взял расположенную здесь крепость Ниеншанц, на месте которой 16 мая 1703 года был основан Петербург. Покончив завоевание течения Невы, Петр продолжал действовать в Ингрии и Лифляндии. В 1704 году в течение одного месяца были взяты Дерпт, Нарва и Иван-город. Все эти победы были одержаны так легко, конечно, благодаря тому, что Карл все усилия устремил на сокрушение Августа, «увяз в Польше», по выражению Петра. Захватив значительную долю Балтийского побережья, значит, достигнув своей заветной цели, Петр двинулся на помощь союзнику и вступил в польские владения. Но здесь русские войска стали терпеть опять неудачи. 15 июля 1705 года Шереметев был разбит наголову при Гемауертгофе, и зиму 1705–1706 годов армия принуждена была оставаться в Гродне, окруженная шведами, так что ей грозила опасность быть отрезанной от России. В январе 1706 года Петр отправился к войску из Москвы, но не мог пробраться в Гродно. Однако в марте русским удалось отступить.
Между тем дела Августа приняли очень дурной оборот: уже вся Польша была у него отнята, он бежал в Саксонию. Карл последовал за ним туда. К осени 1706 года он добил Августа окончательно и в октябре заключил с ним мир в саксонском городке Альтранштадте. Август отказывался от союза с Россией и от польского престола. На его место был возведен Карлом преданный ему польский вельможа Станислав Лещинский. Август имел слабость выдать шведам Паткуля, который и был колесован. Так Петр лишился и второго союзника. Было ясно, что теперь Карл со всею силою устремится на Петра, чтобы покончить с ним.
Однако Карл чрезмерно медлил в Саксонии и только летом 1707 года двинулся обратно к Висле, на берегу которой простоял до декабря, дав этим время Петру приготовиться к обороне, укрепить Дерпт, Псков, Москву, Киев, так как неизвестно было, куда двинется неприятель, перейдя Вислу. Только в июле 1708 года Карл, разбив на пути отряд Шереметева при Головчине, подошел к Могилеву. Здесь он решил подождать вестей с юга из Малороссии, где гетман Мазепа замышлял изменить Петру и отделиться от Московского государства. С севера из Лифляндии на помощь Карлу должен был прийти генерал Левенгаупт с подкреплениями и провиантом, необходимым для войска, которому пришлось действовать в стране, опустошенной русскими в ожидании неприятеля. Петр находился неподалеку, зорко наблюдая за шведами и постоянно тревожа их. 29 августа при местечке Добром, заметив, что правое крыло шведской армии отдалилось от главных сил, Петр напал на него и разбил.