В принципе, ничто не мешало Карлу пойти на север, объединившись с Левенгауптом. Скорее всего, он вернул бы потерянные земли между Ладожским озером и Финским заливом, захватил бы Питер, чем, как минимум, чрезвычайно осложнил бы положение русских. Но короля потянуло прямо на Москву, где он хотел поменять власть. Поэтому он двинулся на восток, вызвав корпус Левенгаупта из Прибалтики на соединение с собой.
В июле 1708 года шведы нанесли русским поражение у Головчина. Масштаб сражения был небольшим, никакого принципиального значения оно не имело, но шведы еще больше уверились в своем превосходстве над «московитами». Карл хотел генерального сражения, но русские все отступали, разоряя окрестности.
В начале сентября шведы подошли к Смоленску, через который открывалась прямая дорога на Москву. Но штурмовать его не стали, поскольку в армии все острее становилась продовольственная проблема, а впереди была зима. Карл повернул на юг, на плодородную Украину.
Левенгаупт, шедший на соединение с Карлом и имевший, кроме своего корпуса, гигантский обоз, который должен был решить проблемы шведов с нехваткой всего, очень слабо представлял, куда ему следует двигаться. Зато русские прекрасно знали, куда идет его корпус. В итоге десять тысяч русских, коими командовал сам Петр, у деревни Лесной (на территории Польши) нанесли Левенгаупту сокрушительное поражение. С Карлом соединились всего 6,5 тыс. человек из 16 тыс., но самое главное, что русские захватили весь обоз с трехмесячным запасом продовольствия, артиллерией и боеприпасами. Нам этот триумф обошелся в 1 111 человек убитыми. Сражение при Лесной Петр назвал «матерью Полтавской баталии».
В качестве «компенсации» за поражение у Лесной Карл получил переход на свою сторону украинского гетмана Мазепы, с которым к шведам перешли до 5 тыс. казаков. Правда, никакой особой пользы это скандинавам не принесло, войска под командованием Меньшикова почти сразу захватили столицу гетманов Батурин, которой не суждено было стать шведской базой снабжения.
Поздней осенью 1708 года шведы, наконец, пересекли русско-польскую границу и оказались на Украине (точнее, в той ее части, которая к тому моменту принадлежала России). Спасения им это не принесло, продовольствия и фуража не было, зато ударили сильнейшие морозы, которые даже на скандинавов действовали крайне пагубно. Хотя боев было очень мало и масштаб их был невелик, шведская армия стремительно уменьшалась, люди умирали от холода, голода и болезней. И, естественно, быстро падала дисциплина.
1 апреля 1709 года шведы подошли к Полтаве, которую русские за зиму успели хорошо укрепить. Это была первая серьезная крепость на пути агрессоров. Шведы хотели взять ее с ходу, но крепость, гарнизон которой составляло 4,2 тыс. человек, сдаваться не собиралась. В осаду втянулись главные силы шведов. Карл намеревался дать здесь русским долгожданное генеральное сражение и решить, тем самым, все свои проблемы. Он хотел привлечь на свою сторону запорожских казаков (не путать с казаками Мазепы), крымских татар и Турцию. Кроме того, он вызвал на помощь шведский корпус, оставшийся в Польше, а также польские войска, подчинявшиеся Лещинскому.
Со своей стороны, Петр тоже решил, что пора дать бой. В конце концов, надо было где-то это делать. Полтава сковала силы шведов, которые продолжали таять.
В мае русские разгромили Запорожскую сечь, двумя месяцами ранее присягнувшую на верность Карлу. Уговорить турок начать воевать против России шведскому королю так и не удалось, более того, Турция запретила это делать и крымскому хану Девлет Гирею. Шведско-польские войска в Польше были блокированы русскими. Таким образом, рассчитывать шведам было больше не на кого. Только на себя.
16 июня, в свой 27-й день рождения, Карл осматривал позиции русских, расположенные на противоположном (восточном) берегу Ворсклы. И получил с этого берега пулю в левую ступню (прямо-таки повторилась история с ахиллесовой пятой). Такая рана, вроде бы, не могла быть смертельной, тем не менее, состояние короля оказалось после этого весьма тяжелым. Фактически, он утратил способность командовать армией. Его сменил в этом качестве фельдмаршал Реншёльд, который, однако, авторитетом Карла не обладал. Русские этого, конечно, не знали, но это уже ничего не меняло, боя хотели обе стороны.
Русская армия переправилась через Ворсклу к северу от Полтавы и шведского лагеря, оставив, как это было во время Куликовской битвы, реку за спиной. Чтобы некуда было отступать. Шведы переправе не мешали. То ли они считали, что и пусть русские переправляются, проще будет их разгромить, то ли командование шведской армией было до определенной степени парализовано.
Русские 20 июня завершили переправу и начали быстро строить укрепленный лагерь, а затем систему из 10 редутов перед лагерем. Редуты располагались буквой «Т», ее ножка была повернута к шведам. Система редутов должна была чрезвычайно затруднить шведам атаку на русский лагерь, а обойти их они не могли – мешали лес, река и болото.