Посчитав, что с Августом покончено, шведский король решил обратиться против России. К тому времени русские войска в Прибалтике достигли заметных успехов. 11 ноября 1702 года под руководством Петра был взят Нотебург, переименованный в Шлиссельбург, а 12 мая 1703 года — Ниеншанц. 27 мая 1703 года на отвоеванной у шведов территории близ устья Невы была заложена новая столица Санкт-Петербург. В 1704 году русские войска овладели Нарвой и Дерптом, утвердившись на Балтийском побережье. У Карла был выбор — пойти в Прибалтику для разгрома находившихся там русских сил и возвращения шведских владений или вторгнуться вглубь России. Король выбрал второй вариант и в начале 1708 года двинулся в восточные воеводства Речи Посполитой. В январе шведы заняли Гродно, а в июне 1708 года армия Карла XII форсировала реку Березину и двинулась к русской границе 3 июля русские войска были разбиты у местечка Головчино северо-западнее Могилева и отступили за Днепр.
Карл занял Могилев и в августе пошел на Смоленск. Однако местность была сильно разорена отступающим неприятелем, и шведский король повернул на левобережную Украину, где надеялся найти продовольствие и фураж. В конце сентября он остановился в Костеничах на стародубской дороге, ожидая корпус генерала Левенгаупта, вышедший в июне из Риги с большим обозом.
Переправившись 21 сентября через Днепр у Шклова, Левенгаупт пошел к Пропойску. Его преследовал А.Д. Меншиков с 12-тысячным конным корпусом в составе 10 драгунских и 3 пехотных полков, посаженных на лошадей. Одновременно наперерез Левенгаупту двинулся 4-тысячный кавалерийский отряд генерала Р.Х. Боура. 27 сентября Левенгаупт занял деревню Лесная. Обоз под прикрытием 3-тысячного войска он отправил к Пропойску. У Левенгаупта осталось 13 тысяч солдат и 17 орудий. Противостоявшие ему главные русские силы насчитывали 16 тысяч при 30 орудиях. Их возглавил сам Петр.
Сражение началось в 8 утра 27 сентября. Русская артиллерия открыла огонь из находившегося недалеко от деревни леса и заставила отступить шведские полки. Однако когда русская пехота стала выстраиваться на опушке леса, шведы контратаковали и захватили четыре пушки. Их остановили преображенцы и семеновцы. Лес мешал продвижению шведов, и туда были отведены передовые русские полки, понесшие большие потери. Позднее Петр признавался в письме генерал-адмиралу Ф.М. Апраксину: «Ежели б не леса, то б оныя выиграли…»
Русские вновь построили боевой порядок и атаковали, но Левенгаупт отразил их огнем тяжелой артиллерии. Тут появился корпус Меншикова. После полудня последовала новая мощная атака 12 драгунских полков и 12 пехотных батальонов русских. К трем часам дня шведы были оттеснены до вагенбурга. Тут подошли драгуны Боура, а к Левенгаупту вернулся трехтысячный авангард. Вплоть до темноты шведы смогли удержать вагенбург и не допустить прорыва своего фронта. Артиллерийская дуэль прекратилась только в десять часов вечера.
Утром Петр собирался возобновить атаку, но Левенгаупт скрытно отвел армию к Пропойску, посадив пехоту на обозных лошадей. На месте лагеря перед уходом он разжег бивуачные костры из ставших больше ненужными обозных фур, чтобы противник решил, будто шведская армия заночевала в Лесной. Преследование началось только утром. Русские драгуны генерала Пфлуга 29 сентября прибыли в Пропойск, где захватили остатки шведского обоза. Левенгаупт, не имея возможности увезти артиллерию, утопил пушки в болоте, а порох и заряды — в реке Сож. Потери шведов в ходе битвы при Лесной составили 6400 убитыми и ранеными и 700 пленными Русские потеряли убитыми и ранеными 4 тысячи человек.
Левенгаупт пришел к Карлу лишь с половиной своего корпуса. К Карлу присоединился также украинский гетман Иван Мазепа с 5-тысячным войском. До этого он был одним из наиболее близких соратников Петра, был награжден всеми российскими орденами и получил титул князя Священной Римской империи. Однако, узнав о намерении Петра установить полный контроль Москвы над Украиной и прикрепить украинских казаков к земле, Мазепа решил попытать счастья со шведами. Все-таки Стокгольм был дальше от Днепра, чем Москва, и шведский протекторат обещал быть не столь обременительным, как российский.
Решение Мазепы было спонтанным. В начале шведского вторжения он издал универсалы, в которых призывал народ бороться против шведов. К тому моменту, когда гетман переменил фронт, основные города левобережья были заняты крупными гарнизонами русских войск, и находившиеся там украинские военные отряды не имели возможности присоединиться к гетману. Он пришел к королю только со своим личным войском. Гетманская столица Батурин со всеми запасами была взята штурмом корпусом Меншикова и предана огню.