Тем временем ухудшилось положение русских войск на Украине, после того как в 1657 году гетманом вместо умершего Богдана Хмельницкого стал его ближайший соратник генеральный писарь (по-европейски – канцлер) Иван Выговский. В 1658 году он заключил с Польшей Гадячский договор, по которому Украина вновь становилась частью Речи Посполитой под именем Великого Княжества Русского. Упразднялась греко-католическая уния на украинских землях, а казацкая старшина полностью уравнивалась в правах с польской и литовской шляхтой. На столь широкие уступки поляки вынуждены были пойти, поскольку очень нуждались в помощи казачьего войска для борьбы с вторгшимися в Польшу русскими и шведами. Однако в Белоруссии польская армия проиграла сражение у села Варка от воеводы Юрия Долгорукого, а князь Хованский в нарушение перемирия внезапным нападением пленил литовского польного гетмана Винсента Гонсевского в Вильне. Это поражение не позволило полякам сразу двинуть войска на помощь Выговскому.
Весной 1659 года на Украину вторглась армия воевод князей Алексея Трубецкого и Семена Пожарского, которая 1 мая осадила в Конотопе украинского полковника Григория Гуляницкого с 4 тысячами нежинских и черниговских казаков. Осажденные отбили несколько приступов с большими потерями для русского войска. С валов казацкие пушки и мушкеты стреляли гораздо точнее по атакующим, тогда как московские стрельцы и пушкари, по словам Трубецкого, «даром тратили государево зелье». Воевода приказал забросать ров вокруг крепости землей, но казаки по ночам делали вылазки и забирали оттуда землю, а днем мешали землекопам меткими выстрелами.
Тем временем в конце мая русские войска взяли крепость Борзну, разбив ее гарнизон под командованием шурина Богдана Хмельницкого, полковника Василия Золотаренко. Часть жителей города была истреблена, часть угнана в Россию.
Под Нежином армия подчиненного Трубецкого князя Ромодановского 31 мая разбила казацко-татарское войско наказного гетмана Скоробогатенко, который попал в плен. Но Ромодановский не рискнул преследовать отступающих, опасаясь, что они заманят его в ловушку. Не решившись на осаду Нежина, Ромодановский возвратился под Конотоп.
1 июня 1659 года польский сейм утвердил Гадячский договор. Украинский гетман тем временем с 16 тысячами казаков и несколькими тысячами наемников из числа поляков, валахов и сербов поджидал своего союзника – крымского хана Махмет-Гирея. В начале июля хан явился с 30 тысячами татар. Вместе они двинулись к Конотопу. По дороге они разбили небольшой московский отряд и от пленных узнали о состоянии и численности русских войск под Конотопом, а также о том, что Трубецкой не ожидает скорого подхода неприятеля. Выговский решил заманить русскую армию на берег болотистой речки Сосновка в 15 верстах от Конотопа, где рассчитывал внезапно атаковать ее заранее укрытой конницей и уничтожить. Начальство над частью войска, оставленной у Сосновки, гетман отдал полковнику Степану Гуляницкому, брату осажденного в Конотопе Григория Гуляницкого. Сам же Выговский с небольшим отрядом казаков и татар пошел к Конотопу, чтобы выманить оттуда противника. Хан с основной частью татар расположился в урочище Торговица в 10 верстах от Конотопа, чтобы ударить по русским войскам с тыла, когда они подойдут к Сосновке.
7 июля Выговский внезапно атаковал войска Трубецкого. Казаки воспользовались внезапностью и захватили много лошадей, на которых московские всадники не успели вскочить. Но вскоре конница Трубецкого, используя свое многократное превосходство, прогнала отряд Выговского за Сосновку. На следующий день 30-тысячное конное войско во главе с князем Семеном Пожарским переправилось через Сосновку и погналось за казаками, а примерно столько же пехотинцев под началом Трубецкого осталось у Конотопа.
Выговский позволил неприятелю построиться в боевой порядок. В это время 5 тысяч казаков под командой Степана Гуляницкого скрытно вырыли ров по направлению к мосту, по которому переправилось войско Пожарского. Гетман атаковал, но после первых выстрелов из русского стана начал отступать, притворной паникой провоцируя противника на преследование. Войско Пожарского оставило свой лагерь и бросилось в погоню. Тем временем казаки Гуляницкого довели ров до моста, захватили мост и, разрушив его, сделали запруду на реке, затопив прибрежный луг. Увидев в тылу у себя неприятеля, Пожарский повернул своих всадников против Гуляницкого. Тогда казаки Выговского при поддержке наемной пехоты, в свою очередь, атаковали «москалей» с фронта, а с левого фланга на них наскочила орда крымского хана. Пожарский стал отступать и попал на затопленный луг. В образовавшемся болоте завязли пушки, лошади не могли двигаться. Дворянская конница спешилась, но и пешком идти не было никакой возможности. Практически все 30-тысячное войско погибло или попало в плен.