Иван Степанович еще в первые годы Северной войны вел тайные переговоры с Карлом, а затем и со Станиславом Лещинским. Он обещал при вторжении шведов обеспечить им зимние квартиры, продовольствие и пятидесятитысячное казацкое войско. Вероятнее всего, Мазепа хотел усиления собственной власти, объединения под своей булавой значительных территорий и определенной независимости в управлении от шведов и поляков. Впрочем, переговоры велись крайне осторожно: Мазепа выжидал, на чьей стороне окажется преимущество. Но когда шведский король повернул на юг, ему пришлось уже открыто перейти на сторону противников России. 24 октября 1708 г. всего с пятитысячным (по другим данным – двухтысячным) отрядом и частью верной старшины Мазепа переправился через Десну и пошел на соединение с Карлом, надеясь на поддержку всего казачества и мотивируя свой переход восстанием против московского гнета.
Когда в сентябре Карл вторгся в пределы Украины, основные силы русской армии под командованием Б. П. Шереметева также повернули на юг, а Петр I и А. Д. Меншиков, сформировав легкий двенадцатитысячный подвижный отряд, двинулись навстречу корпусу Левенгаупта. 28 сентября русские войска вынудили Левенга-упта принять бой в труднопроходимой лесисто-болотистой местности у деревни Лесной. Шведы потеряли 8700 человек убитыми, 45 офицеров и более 700 солдат попали в плен. Весь обоз с большим количеством боеприпасов и продовольствия, 17 орудий, 44 знамени достались русским. Петр I называл победу у Лесной «матерью Полтавской баталии».
На переход Мазепы на сторону противника быстро отреагировал Меншиков, находившийся возле украинских границ. Он перекрыл переправу через Десну и выпустил 28 октября манифест к украинскому народу, в котором заклеймил гетмана как изменника родины и веры, который хотел отдать православную веру униатам. 2 ноября Меншиков вошел в Батурин и устроил там погром, уничтожив значительную часть населения, а через четыре дня в Глухове на место низложенного Мазепы гетманом избрали И. Скоропадского. Впрочем, и без репрессивных мер российского командования украинское население не спешило переходить на шведскую сторону.
Весной Петр I отправил отряд Яковлева на подавление возможного выступления сечевиков. Царские войска ворвались в Сечь и после короткого боя заставили запорожцев капитулировать. В плен сдалось 300 человек. Яковлев велел отправить знатных пленников к царю, а остальных казнил на месте как изменников. По царскому приказу Запорожская Сечь была разрушена и сожжена.
Взятие русскими Батурина было вторым серьезным ударом для шведов после Лесной. Карл XII рассчитывал пополнить в гетманской резиденции запасы продовольствия, пороха, ядер, взять находившуюся там артиллерию.
Продвижение шведской армии по Украине проходило не без проблем. Упорное сопротивление Карлу оказали Ромны, Гадяч, Чернухи, Пирятин, Зеньков и другие города. Тревожили шведов и многочисленные мелкие отряды казаков и местных жителей, действовавшие в тылу продвигавшейся армии.
Шведские войска начали вторжение на Слобожанщину. И здесь их не встречали с рапростертыми объятиями. Упорно оборонялись Котельвы, Краснокутск, Коломак. Против шведов успешно действовали небольшие русские отряды и казацкий полк Галагана. Шведские войска вынуждены были отойти в междуречье Ворсклы и Псла. В это время русские войска и казаки осуществляли стратегическое окружение неприятеля на Левобережной Украине. Казацкие полки контролировали переправы через Днепр. Петр I неоднократно предлагал Карлу XII заключить мир, но тот заявлял, что закончит войну, войдя в Москву.
Для улучшения снабжения своих войск шведский монарх решил занять Полтаву. Это помогло бы ему также получить удобные пути для связи с Турцией и Крымским ханством, использовать переправу через Днепр у Переволочной для пополнения армии отрядом генерала Крассоу и польской шляхтой. Полтава находилась на правом, высоком берегу Ворсклы. Ее укрепления, как казалось шведским генералам, не могли быть серьезным препятствием. Армия Карла XII имела опыт осады и более мощных крепостей в Прибалтике, Польше, Саксонии.
Учитывая важное стратегическое положение города, русское командование направило в Полтаву шесть батальонов пехоты под командованием полковника А. С. Келина. Гарнизон Полтавы состоял из 4181 солдата и офицера, 91 пушкаря и 2600 вооруженных местных жителей, в городе имелось 28 пушек.
3 апреля 1709 г. полуторатысячный шведский отряд появился перед укреплениями и начал их штурмовать. Нападение было отбито. В последующие дни проходили вылазки с обеих сторон. 5 апреля шведы потеряли убитыми 427 человек, гарнизон Полтавы – 62. Вылазки защитников города не давали шведам возможности возводить шанцы около крепостных валов. В ответ на подкопы, куда закладывались мины, Келин приказал вырыть траншеи из города. Полтавчане получили возможность изымать закладываемый порох. Захлебнулись штурмы 29 и 30 апреля.