С наступлением весны Карл XII двинул свою армию против Августа, который после заключения договора получил от Петра вспомогательный корпус в 20 тысяч человек и вторично осадил Ригу. Но действия союзников были неудачны. Карл XII неожиданно напал на саксонцев под Ригой; 9 июля 1701 г. он переправился через реку Двину почти на виду у неприятельского войска. В двухчасовой битве шведы разбили саксонского генерала Штейнау, который потерял всю артиллерию и 2 тысячи человек, в то время как потери шведов составили только 500 человек.
Борьба Карла XII с Августом приняла затяжной характер. Шведский король, по выражению Петра, надолго «увяз» в Польше. Это обстоятельство было крайне благоприятно для русского правительства. Август являлся для России выгодным союзником не столько по своим вооруженным силам, сколько потому, что он отвлекал шведов от русских границ. Этим самым он дал возможность Петру выиграть время, чтобы принять меры к обороне страны.
Для защиты Швеции от вторжения русских Карл XII оставил 15 тысяч полевых войск, из них 8-тысячный отряд Шлиппенбаха в окрестностях Дерпта, а остальные войска в количестве 7 тысяч под командованием Кронгиорта занимали Ингрию. Главные же силы шведов были брошены против Августа. Для прикрытия государственных границ Петр расположил свою армию в следующем порядке: 30-тысячный отряд Шереметева — у Пскова, 10-тысячный отряд Апраксина — у Новгорода и Ладоги. Возвратившийся из Курляндии отряд Репнина был расположен в городе Пскове. Итак, против 15 тысяч шведов была сосредоточена русская армия численностью в 40 тысяч, а через год ее довели уже до 60 тысяч человек.
Однако неправильно было бы рассматривать боевые действия русской армии в 1701–1705 гг., как это делают некоторые военные историки, как только активную оборону. В самом деле, в этот период Петр добился очень важных стратегических результатов, позволивших ему утвердиться в восточной части Финского залива.
Петр I настоятельно требовал от Шереметева посылки отдельных отрядов в пределы Лифляндии для уничтожения мелких отрядов Шлиппенбаха. В этих набегах прошел весь 1701 год. Только в январе 1702 г. Шереметев во главе 17-тысячного отряда нанес удар войскам Шлиппенбаха у селения Эрестфера (50 верст от Дерпта).
В этом бою отряд Шлиппенбаха потерял почти половину своего состава, 6 орудий и с остальной частью едва успел отступить к Сагницу.
Первая победа над шведами чрезвычайно обрадовала Петра: убеждение в «непобедимости» шведов было поколеблено. Узнав об этой победе, Петр сказал: «мы дошли до того, что шведов побеждать можем, пока сражаясь два против одного, но скоро начнем побеждать их и равным числом».
После победы у Эрестфера русские отряды смелее стали действовать против шведов. В июле 1702 г. русские войска разбили шведские флотилии на Чудском и Ладожском озерах. В этом же месяце Шереметев вторично разгромил Шлиппенбаха при мызе Гуммельсгоф. В этом бою почти вся пехота шведов была уничтожена: из 6 тысяч осталось только 500 человек. Потеряв всю артиллерию и даже знамена, Шлиппенбах с небольшим количеством кавалерии отступил на Пернов. Русские войска после разгрома шведов лишили противника материальной базы в восточной Лифляндии и вернулись к своим границам.
В это время отряд Апраксина успешно действовал против Кронгиорта, которому он нанес поражение у реки Ижоры 13 августа 1702 г.
Эти победы убеждали русскую армию в том, что шведов можно разбить. В ходе боев русские войска приобретали боевой опыт. Правда, частичные победы еще далеко не решали задачи выхода к берегам Балтийского моря. Силы шведов в Лифляндии и Карелии пока не были разъединены. Чтобы разъединить эти силы, нужно было овладеть устьем Невы.
После ряда побед в Лифляндии Петр решил, наконец, осуществить свою заветную мечту — открыть искони принадлежавший русским путь «из варяг в греки». Для этого надо было овладеть двумя крепостями, находившимися в руках шведов: Нотебургом, бывший Орешек, расположенным у истока реки Невы из Ладожского озера, и Ниеншанцем на реке Охте.
Всю зиму и лето велась тщательная подготовка к осаде. В конце сентября 1702 г. войска Шереметева и Репнина сосредоточились около Нотебурга; сюда же из Архангельска во главе гвардейских полков прибыл и Петр I. Для окружения Нотебурга войска были расположены по обоим берегам Невы; кроме того, царь сосредоточил на Ладожском озере у истока Невы флотилию, а 50 больших лодок по его приказанию переволокли в Неву.
Около двух недель продолжалась осада. 11 октября 1702 г. состоялся штурм. Первое нападение было отбито, но храбрый князь. Голицын, чтобы не дать войскам отступить, приказал оттолкнуть от берега лодки, на которых подъехали штурмующие крепость отряды, и опять возобновил штурм. Настойчивость русских поколебала силы гарнизона. Как только начался новый штурм, шведы прекратили огонь. По приказанию коменданта крепости барабаны забили «сдачу».
Таким образом крепость, находившаяся в руках шведов 90 лет, была возвращена.