К маю 1701 г. планы шведской стороны стали более конкретными. Главная шведская армия должна была выступить против саксонской армии Августа II. Планом предусматривалось взятие крепостей Даугавгривы, Коброна и Кокнеса, а также занятие Курляндии.
Генерал Кронгиорт, командующий войсками в Ингрии, получил приказ напасть на русские войска со стороны Ладоги, а Нарвский комендант Горн -- предпринять поход к Гдову. После занятия Курляндии войска Карла XII должны были взять Псков. Саксонская армия в Курляндии насчитывала всего около 12-15 тыс. человек. 25/26 июня 1701 г. к саксонской армии Штейнау присоединился русский корпус генерала Репнина, силой в 17-20 тысяч человек. После соединения войск союзников угроза Риге возросла.
К весне 1701 г. в Эстляндии, Лифляндии и Ингерманландии насчитывалось 29 тысяч шведских солдат. Из них 10500 (включая всю рижскую группировку -- 4500 человек) приходилось на гарнизоны городов-крепостей. На территории современной Эстонии находилось 19300 человек. Хотя армия Карла XII насчитывала почти 15 тысяч человек, король не мог полностью использовать их против саксонской армии -- часть сил необходимо было оставить для сдерживания русских на востоке. Вместе с тем, король в сложившейся ситуации, мог использовать часть войск рижской группировки, особенно на южном фланге.
К маю 1701 г. король получил значительные подкрепления из Швеции и Финляндии. Подкрепления стали пребывать 17 мая 1701 г. Пополнения составили 9350 человек. Численность армии Карла XII достигла 24 тысяч человек, а всех шведских войск в Остзейских провинциях -- около 39 тыс. человек.
Холодная зима и сильное весеннее половодье, задерживали выступление королевских войск. Лишь в конце мая армия Карла XII была готова к новому походу.
21/22 мая 1701 г. король во главе лейб-гвардии выступил в поход. Затем к нему присоединились другие полки. Войска сосредоточились в окрестностях Дерпта.
К началу июля шведы подошли к реке Даугава (Западная Двина). Штейнау, командовавший саксонскими войсками, разбросал их по берегу Двины не зная, в каком месте шведы попытаются переправиться. Карл XII не замедлил воспользоваться ошибкой саксонского командующего. По приказу короля были сколочены плоты с высокими бортами. Для обмана противника шведы заготовили большое количество сена. Утром 8/9 июля 1701 г. шведы приступили к переправе у Спильве, предварительно зажгя большое количество костров из мокрой соломы. Дым от костров застлал реку и дезоринтировал саксонцев.
К началу сражения саксонская армия насчитывала до 12 тысяч человек с мощной артиллерией -- 36 орудий. Они располагались в две линии: в первой линии слева -- направо были построены кирасирский полк Королевы, полк пешей гвардии саксонского курфюршества, полк Наследного принца, полк Королевы, полк польской коронной пешей гвардии и кирасирский полк курляндского герцога Электора. Во второй линии были построены слева-направо: кирасирский полк Штейнау, пехотные полки Сакена, Штейнау, Тейлау, кирасиры курляндского герцога Электора, драгунский полк Мюльхау. Всего силы саксонцев состояли из 14 пехотных батальонов и 30 кавалерийских эскадронов (около 6200 пехотинцев и 7500 кавалеристов).
Шведский король располагал всего лишь 7000 человек (1400 кавалеристами и 5600 пехотинцами) -- 15 батальонов пехоты и 11 рот кавалерии. Шведские части располагались в следующем боевом порядке слева -- направо: Вестманландский пехотный полк (два батальона) вел генерал Левенгаупт; во главе 1-го батальона Уппландского полка, 1-го батальона полка Хельсинген и 1-го батальона Лейб-гвардии пешего полка шёл генерал-майор Поссе; генерал Ливен вёл 2-й батальон Лейб-гвардии пешего полка, батальон гвардейских гренадеров и 1-й батальон Нёрке-Вермландского полка; генерал Стенбок возглавлял 4-й батальон Лейб-гвардии пешего полка и 2-й батальон Уппландского полка; генерал Спенс командовал двумя батальонами Делакарлийского полка; генерал Горн стоял во главе гренадеров Уппландского полка и 10 рот конного лейб-регимента; король вел роту лейб-драбантов, а генерал Стюарт Вестерботтенский пехотный полк (два батальона). Шведская артиллерия была сосредоточена на берегу и поддерживала огнем переправляющиеся части шведской армии.
Шведские генералы и французский посол граф Гискар указывали королю на опасность переправы под огнем саксонских пушек, но Карл XII, прекрасно знавший, что Штейнау позволит шведам высадиться на берег, для того, чтобы попытаться их разбить, приказал переправляться. Шведы под прикрытием дыма высадились на берег и стали выстраиваться в боевом порядке. Штейнау бросил в атаку на не успевшие построиться батальоны противника своих кирасир. Королевская пехота была смята и опрокинута в реку. Обнажив шпагу, Карл XII остановил своих солдат. Шведы сомкнули свои ряды и встретили саксонцев огнем и штыками. Отбив атаку саксонской кавалерии, каролинцы вышли на берег. Штейнау отступил к главной позиции своих войск, прикрытых с одной стороны болотом, а с другой лесом. Саксонская пехота под прикрытием огня своей артиллерии трижды пыталась опрокинуть шведов, но безуспешно. Устроив свои войска должным образом, король атаковал саксонцев. Дав один ружейный залп, шведы ринулись в штыковую атаку. Саксонцы не выдержали атаки и обратились в бегство. Курляндские кирасиры оказали наиболее ожесточенное сопротивление, но после ранения своего герцога и они обратились в бегство. Саксонцы потеряли 900 человек убитыми, 500 пленными, 3 штандарта, одно знамя и 36 пушек. Шведы потеряли до 300 человек.