Ибрагим-паша двинул к берегу Днепра свои главные силы — до сорока тысяч пехоты и конницы. Но было уже поздно. Григорий Ромодановский успел переправить за Днепр около пятнадцати тысяч солдат и стрельцов под командованием «генерал-порутчика» Григория Косагова.
28 августа турки безуспешно атаковали русские позиции, неся большие потери. А затем русская пехота и казачья конница сами пошли вперед. Турецкая армия была разгромлена и побежала.
Боярин и воевода Григорий Ромодановский доносил в Москву: «Знатную одержав победу над неприятелями, многих побили, гоня их на пять верст от Днепра».
Исход затяжного сражения на Днепре, по существу, был решен. Турки отступили окончательно, только крымская конница еще пыталась воспрепятствовать продвижению русских авангардов, но действовала вяло и нерешительно. По словам Гордона, «29-го на рассвете на холмах показались татары; когда они приблизились на расстояние пушечного выстрела, он велел стрелять в них, что заставило их отступить». Завершался этот день мелкими стычками кавалерийских отрядов. Русские воеводы еще не знали, что Ибрагим-паша, признав свое поражение, уже снял осаду Чигирина, поджег лагерь и теперь вывозит к Бугу пушки и обозы.
За лесом, в той стороне, где расположился Чигирин, поднимались клубы черного дыма. «Боярин князь Ромодановский заключил из виденного большого огня, что у Чигирина произошла какая-нибудь перемена, и по отступлению татар послал ротмистра с 60 рейтарами разведать местность до самого Чигирина».
Но до города рейтары не дошли. На дороге они встретили некоего подполковника, который сообщил, что «турки сняли осаду и отступили в большом беспорядке, оставив много бомб и осадных орудий».
Чигирин был спасен, но война еще не закончилась. Многочисленная турецкая армия оетавалась на Правобережной Украине, и дальнейшие планы Ибрагим-паши были неизвестны. Конечно, туркам нанесены тяжелые потери, около двадцати тысяч воинов Ибрагим-паши полегло под Чигирином и близ берега Днепра, но ведь это составляло меньше одной пятой части турецкой армии…
Были подсчитаны и русские потери. В сражении на Днепре погибли две тысячи четыреста шестьдесят русских ратников, около пяти тысяч получили ранения. Однако к Днепру уже подходило резервное войско князя Голицына — пятнадцать-двадцать тысяч человек. Ромодановский чувствовал себя достаточно сильным, чтобы перенести военные действия на Правобережную Украину.
Еще три дня продолжалась переправа через Днепр русских полков. Армия переправлялась со всем необходимым для дальнего похода. По свидетельству Гордона, «всем войскам был отдан приказ переправляться через Днепр. Для каждых 15 человек было назначено по повозке. Сам боярин решил идти с армией к Чигирину».
Подневное описание похода к Чигирину тоже содержится в дневнике Патрика Гордона:
«5-го сентября армия прошла в обычном своем порядке посреди обоза 2 немецкие мили и расположилась лагерем вдоль Тясьмина против Чигирина.
6-го боярин отправился с старшими военными в город, а оттуда в замок, после чего осмотрел неприятельские батареи и апроши.
После полудня к Черному Лесу был выслан отряд в 3000 человек для собрания сведений о неприятеле. Отряд вернулся на третий день, приведя пленного болгарина, который рассказал, что турки шли день и ночь, пока не миновали Ингула и Ингульца, а татары провожали их до Буга, оттуда направились в свою собственную землю.
Боярин, осмотрев с гетманом и старшими офицерами город и замок, отдал приказ собрать 15 тысяч бревен; каждое бревне привозили три рейтара. Пехотным же полкам было велено засыпать турецкие траншеи и снести холмы, на которых стояли турецкие батареи. Когда это было сделано, армия вернулась к Днепру и в ту же ночь (9-го сентября) была переправлена через него.
10-го пехота двинулась обратно к реке Суле».
Но за Днепр отвели не все войска.
Пятнадцатитысячный гарнизон был оставлен в Чигирине.
Рейтарские и казачьи конные полки заняли Черкассы, Белозеро и другие городки на Правобережье и должны были оставаться там до зимы, как бы прикрывая русские владения от возможных турецких вторжений.