Після смерті гетьмана Богдана Хмельницького 1657 року в Україні почався один із найсумніших періодів в її історії — громадянська війна, яку ще називають Руїною, одним з епізодів цієї історії стала українсько-московська війна 1658 — 1659 років. Московське царство вирішило використати ситуацію на свою користь. Декларативно Москва підтримувала гетьмана Івана Виговського і в той же час концентрувала військо на прикордонних землях та надіслала уповноваженого до полтавського полковника Мартина Пушкаря, який знайшов спільну мову з кошовим Запорозької Січі Яковом Барабашем і теж хотів здобути гетьманську булаву за підтримки царя.
Передумови битви були такими: Виговський, колишній писар Хмельницького, намагався укласти Гадяцький договір, який означав, що Україна отримає рівноправне місце в Речі Посполитій як Велике князівство Руське поряд із Польщею та Литвою, заборонялась унія та гарантувалися права УПЦ. Однак Сейм РП у травні 1659 року ратифікував угоду в значно урізаному вигляді. Московський уряд перейшов у наступ на Україну навесні 1658 року. Об’єднавшись із ворогами гетьмана — Іваном Безпалим, осавулом Вораньком та козаками кошового Барабаша, — армія російського полководця Романдовського захопила низку українських міст — Миргород, Лубни, Пирятин — та вирізала не тільки прихильників Виговського, а й мирне населення, та грабувала український народ.
Такі дії російського війська схиляли на бік Івана Виговського все більше козаків та простого населення. Тим часом величезна московська армія кількістю понад 150 тисяч осіб на чолі з князем Трубецьким рушила на допомогу Романдовському.
Через деякий час загін полковника Григорія Гуляницького напав на обоз московського війська та, відступаючи, несподівано захопив сам Конотоп. Попри умовляння зрадити Виговського Гуляницький відмовився та з загоном козаків, який налічував приблизно 4 тисячі осіб, боронив Конотопську фортецю. Сама ж облога міста почалася 21 квітня 1659 року.
Перший штурм виявився невдалим, але укріплення Конотопа не були досить міцними. Єдиним укріпленням був земляний вал та палісад із ровом. У багатьох місцях містечко було оточено болотом, тому природний ландшафт сприяв обороні. О п’ятій годині, відразу після молебню, князь Трубецький почав наступ і зав’язався бій. Місто обороняли з гармат. Деяким нечисленним російським загонам пощастило вдертися у фортецю, але козаки Гуляницького хоробро боронилися та вибили ворогів із великими втратами.
Після цієї невдачі Трубецький уже не наважувався йти на прямий наступ, а замість цього продовжував обстріл міста з гармат та почав засипати землею рів. Уночі козаки робили вилазки та несподівано нападали на московські загони навколо міста. В результаті постійних нападів козаки змусили Трубецького перенести табір на 10 кілометрів в урочище. За деякими даними, тільки під час облоги Конотопу московські війська втратили орієнтовно 10 000 осіб.
До 29 червня, приблизно 70 днів, чотиритисячний загін Гуляницького утримував фортецю проти багатотисячного московського війська, що дало українському гетьману шанс організувати власну армію, отримати допомогу від Речі Посполитої та Криму і залучити загони найманців. До козаків Виговського приєдналися польські кінні загони Потоцького, Яблоновського та піхота Лончинського, також до них приєдналися загони сербських та молдавських найманців загальною кількістю приблизно 3 800 осіб. Було досягнуто домовленостей з Кримським ханом, який прибув на початку червня з 30-тисячним військом.
Тим часом армія Виговського з кримськими татарами продовжувала просуватися в напрямку Конотопа. І вже 24 червня під селом Шаповалівка був розбитий невеликий московський загін. Від полонених козаки дізналися, що Трубецький знаходиться не біля Конотопа, і він не очікував, що союзники прийдуть так швидко. Після цього було розроблено план дій, за яким кримські татари сховалися в засідці в урочищі Торговиця на схід від села Соснівка — табору Виговського. Сам же Виговський залишив командування братові Григорія Гуляницького — Степану Гуляницькому — і вирушив на чолі маленького загону під Конотоп. Рано-вранці 27 червня козаки напали на військо Трубецького і, скориставшись несподіванкою, захопили багато коней. Але, отямившись, кіннота Трубецького контратакувала загін козаків, і Виговський відступив за річку Соснівка в напрямку свого табору.
Уже наступного дня, у суботу, Трубецький відіслав приблизно 30 000 московської кінноти на чолі з боярином С. Пожарським наздогнати Виговського. Пожарський переправився через річку Соснівка, а решта 30 000 війська на чолі з Трубецьким залишилась у таборі. Несподівано п’ятитисячний загін С. Гуляницького зайшов у тил Пожарському і, не помічений, захопив міст через Соснівку та зруйнував його.
Рано-вранці 29 червня 1659 року невеликий загін Виговського атакував табір Пожарського і після короткої сутички почав відступати, вдаючи втечу. Коли московські війська вступили в село Соснівка, козаки трьома пострілами з гармати та трьома вогневими стрілами дали знак рушати орді та полякам, а самі всією армією розпочали контрнаступ на Пожарського. Пожарський побачив пастку і спробував відступити, але важка московська кіннота та артилерія загрузли у вогкому ґрунті біля річки. В цей час із фалангу вдарили кримські татари — московська армія опинилася в оточенні. Впродовж решти дня були знищені майже всі 30 000 війська Пожарського, а його самого захопили у полон разом із князями Львовим, Ляпуновим, Бутурліним, Скуратовим, Куракіним та іншими. Полонених віддали татарам, які майже всіх немилосердно зарізали. За переказами, самого Пожарського поставили зв’язаним перед ханом, але той плюнув йому в обличчя та вилаяв. За це татари відрубали Пожарському голову і відіслали її з полоненими до табору Трубецького.
Сам Трубецький після того, як почув про розгром війська Пожарського, відкликав Ромадановського від Конотопа та ввечері почав відступати з України. Побачивши, що московити тікають, Гуляницький вийшов із Конотопа і вдарив по армії Трубецького та захопив багато артилерії. Сам Трубецький ледве не загинув, був двічі поранений і втратив крім частини артилерії ще й бойові знамена і майже весь обоз. Після цього козаки й татари продовжували переслідувати ворога ще протягом трьох днів аж до московського кордону.
Якщо говорити про історичну роль цієї битви, то її важко переоцінити. Це була грандіозна перемога козаків гетьмана Виговського над московським військом Трубецького та Пожарського. Втім, на жаль, вигравши битву, козаки не змогли закріпити свій успіх та виграти війну. В Україні тривала громадянська війна проти гетьмана Виговського, яку підтримувала Московія. І козаки не могли визначитися, хто є другом, а хто ворогом. Тому майже відразу після битви козацький полководець Іван Сірко вирішив іти з походом на Крим, і татари були змушені повернутися назад. А у вересні 1659 року проти Виговського виступили полковники Золотаренко, Сомко та Цицюра. Це змусило Івана Остаповича зректися булави на користь Юрія Хмельницького, який підписав дуже не вигідні для України другі Переяславські угоди. Так розпочалася Руїна.