За цих умов серед української старшини, незалежно від планів і насторїв самого гетьмана, виникла опозиційна щодо царизму група, яка обговорювала можливості відновлення Гадяцького договору з Польшею (в особі С.Лещинського) і союзу з Карлом ХІІ проти Москви. Ще 1706 року полковники Горленко й Апостол волали до гетьмана : "Твою душу й кості діти наші проклинатимуть, якщо ти після себе залишиш козаків у такій неволі", та зносини українських опозиціонерів з можливими союзниками почалися задовго до вступу шведів в Україну.
Не втаємниючи нікого зі старшини, за винятком генерального писаря П.Орлика, Мазепа, всупереч вимогам Петра І, затримав Волинь та Київщину і з ініціативи Лещинського розпочав 1704 року переговори з королем Станіславом Лещінським. На початку 1708 року переговори Мазепи з Лещинським завершилися формальною угодою, за якою Україна, як велике князівство, входила б в склад Речі Посполитої за гарантією короля шведського.
Але договір з Польшою залишався тільки дипломатичним інструментом, вигідним для Мазепи. Головна увага гетьмана була скерована на союз з Швецією. Справа ускладнювалась і тим, що Мазепа повинен був зберегти таємницю не лише від старшини, але також і від Польші, яка б не погодилась на незалежність України.
Зносини Мазепи зі шведами пожвавилися в 1706 році. Очевидно, тоді й була укладена угода між Швецією і Україною. П.Орлик у "Виводі прав України", написаному у 1712 році, подав такий зміст цієї угоди: Україна має бути вільною державою, Українським князівством, Мазепа - довічним князем, або гетьмангом. Після його смерті стани мають обрати наступника; король шведський має захищати Україну від ворогів.
Ці переговори велися у глибокій таємниці, тому ширші кола українського суспільства аж до 1708 року вважали гетьмана московським посіпакою, і коли той перейшов на бік Карла ХІІ, просто не повірили йому. Власне українська старшина змусила Мазепу до рішучих кроків 1708 року, коли гетьман опинився у безвиході після наказу Петра І йти на допомогу російській армії, в той час як уся Україна була окупована царським військами. Гатьман волів дочекатися наслідків вирішальної сутички між Петром І і Карлом ХІІ, але обставини не дозволили цього. І Мазепа виступив проти Петра І, не встигши ні підготувати до цього українське суспільство, ні стягнути в Україну більшість збройних сил.
До союзу з Карлом ХІІ змусив гетьмана вступ шведів в Україну восени 1708 року. У своєму зверненні до війська й народу гетьман стверджував, що союз із шведами - звичний для України договір, аналогічний договорам Хмельницького, - допоможе визволити Україну з рабства і московської тиранії і відновити її "самовладність", що у війні Україна дотримуватимется збройного нейтралітету, а після війни залишиться "при своїх природних князях і при всіх попередніх правах і привілеях, що вільну націю означають". Договір передбачав, що "Україна обох сторін Дніпра з Військом Запорізьким і народом українським має бути вічними часами вільною від усякого чужого володіння… Цільсть границь її, непорушність вільностей, законів, прав і привелеїв її свято мають заховуватися, аби Україна вічними часами вільно тішилася своїми правами і вільностями без жодної шкоди".
І хоч шведським солдатам заборонялось всілякі реквізії і насильства щодо українського населення, хоч харчі й фураж вони здобували виключно за гроші, народ переважно поставився до шведів як до ворогів, значною мірою завдяки православному духовенству, яке наголошувало на тому, що шведи - іновірці й мало не язичники. Позиція ж церкви визначалася настановами й наказами Петра І. У всіх церквах, навіть у тих, які збудував Мазепа, його ім"я піддавали анафемі, численні відозви до населення закликали не вірити "зрадникові" Мазепі, який діяв буцімто задля особистої вигоди і з приватних міркувань.
Стратегічним прорахунком шведського командування були дії на півночі України, які призвели до втрати Стародуба. Полковник Скоропадський, прихильник Мазепи, не маючи можливості з"єднатися з гетьманом, мусив скоритися Петрові І. Батурин, перетворений Мазепою на потужню фортецю, завдяки сильному гарнизонові й значній артилерії витримав перший штурм Мечникова, але був здобутий через зраду старшини Івана Носа. Увірвавшись у гетьманську столицю, московські війська чинили нечувану різанину, знищивши не тільки козаків, а й усе цивільне населення міста включно з немовлятами. А поза тим у Батурині знаходилися гетьманська скарбниця, артилерія, припаси продовольства, які б могли придатися шведам. Батуринська катастрофа була великим ударом і для всієї Мазепиної справи. З неї почалося винищеня по всій Україні прихильників гетьмана, зокрема серед старшини. У Лебедині діяв спеціальний суд, на якому українців тортурами змушували признатися у "зраді", а потім страчували. Тільки в Лебедині загинула майже тисяча українців. Згодом репресіям було піддано й жителів міст і сел, які гостинно зустрічали шведів і чинили опір російському військові.
Узимку 1708 року запеклі бої точилися на півночі України, але вирішальна битва відбулася лише всередині 1709 року. Взимку Карлові ХІІ вдалося розгромити московську кінноту, та через відлигу він мусив повертатися зі Слобожанщини.
Другим успіхом Карла ХІІ і Мазепи був перехід на їхній бік запорожців на чолі з кошовим атаманом Костем Гордієнком, адже протягом усього гетьманування Мазепи запорожці постійно були в опозиції до нього як до провідника кріпосницьких поглядів, не сумісних з демократичним ладом Запоріжжя. Боротьба за волю батьківщини поєднала запорожців з патріотичною старшиною. Запорожці завдали кількох поразок московським частинам і з"єдналися з гетьманом та шведами. Натомість московське військо завдяки перекинчикові Г.Галагану і його компанійцям зуміло після затятого бою оволодіти Чортомлицькою Січчю (14 травня 1709 року) і містечком Переволочною. Після Батурина це був великий удар спільній шведсько-українській справі. Винищивши цівільне населення, зруйнувавши козацькі укріплення і оволодівши статегічно важливими пунктами (внаслідок цого від України були відрізані татари, що виявили готовність виступити проти царя), царське військо, крім того, відтяло Карлові ХІІ й Мазепі можливий шлях відступу. Знищення річкового флоту не дало змоги союзникам біля Полтави переправити через Дніпро більшість війська й перетворило тактичну поразку на стратегічну.
З початком травня шведи почали облогу Полтави. Метою Карла ХІІ було викликати росіян на вирішальну битву. Адже сувора зима завдала великих втрат шведській армії, відчувався брак харчів, фуражу, боєприпасів, отож затягування війни просто знищило б шведську армію. Сама битва відбулася 27 червня (8 липня н.ст.) 1709 року й мала фатальні для шведів і України наслідки. За шведським підрахунками, Карл ХІІ виставив лише 18 тисяч боєздатного війська, натомість Петро І мав 40-тисячне військо. Козаки в бою участі не брали. Щоправда, шведські солдати мали кращій вишкіл, але й російська армія була вже не та, що десять років перед тим під Нарвою. Росіяни мали удвічі більше артилерії, у війську було багато європейських генералів і офіцерів, та й Петро І виявив себе добрим полководцем. А Карл ХІІ не зміг особисто керувати битвою, бо напередодні був тяжко поранений і його носили на ношах. Генерал Реншільд, якому Карл ХІІ доручив командування, припустився кількох помилок, і шведи, попри мужність війська, зазнали поразки. Щоправда, вони втратили всього 5 тисяч жовнірів, але, провадячи організований відступ, потрапили у безвихідь під Переволочною і значна частина армії капіталювала. Карл ХІІ з рештою шведів і Мазепа й Гордієнко з козаками відірвалися від погоні і знайшли притулок на турецьких землях.