Осада Чигирина началась 3 августа., Только 10 августа более чем в ста километрах от крепости армия Ромодановского соединилась с казаками гетмана Самойловича (20 тыс.).
Московские войска, за исключением столичных стрельцов и двух выборных московских солдатских полков "нового строя", были недостаточно хорошо вооружены и обучены. При этом русская армия значительно превосходила турок в артиллерии, так как имела 126 орудий.
Армия Голицына состояла в основном из необстрелянных полков "нового строя". Голицын выступил из Путивля 7 августа и берега Днепра достиг с опозданием, только к сентябрю, уже после отступления турецких войск.
Ромодановский и Самойлович по пути выслали к Чигирину подкрепление, отряд "полуполковника" Ф. Тумашева, который скрытно подобрался к осажденной крепости, и утром 20 августа с развернутыми знаменами и под бой барабанов вступил в Чигирин, сумев избежать потерь из-за нерасторопности турок,
В турецкой армии Ибрагим-паши было около 60 - 80 тыс. человек, из них 15 тыс. янычар и прочей турецкой пехоты, 20 - 30 тыс. сербов, валахов и молдаван, 20 - 40 тыс. татар. У турок было 35 орудий. Турецкий командующий планировал за три дня взять Чигирин, а затем и Киев.
Чигирин оборонял гарнизон под командованием воеводы Ивана Ржевского из 9 тыс. человек: солдат, стрельцов и украинских казаков.
24 - 25 августа войска Григория Ромодановского и Ивана Самойловича вышли к берегу Днепра у Бужина перевоза. В этом месте река значительно сужалась, а правый берег вдавался вперед в виде полуострова. Ибрагим-паша отправил крымского хана со значительными силами к Бужину, чтобы помешать переправе, однако хан опоздал.
Татарские разъезды были отогнаны от берега артиллерийским огнем, и в три часа ночи с 26-го на 27-е августа русско-украинские войска начали переправу.
Передовым отрядом командовали "полуполковник" Воейков из выборного (отборного. "гвардейского") полка А.А. Шепелева и полковники Верстов, Левенец и Барсук. Беспорядочная стрельба, открытая турками, была подавлена огнем орудий с левого берега
Ромодановский лично руководил установкой пушек и корректировкой огня русской артиллерии по позициям неприятеля на правом берегу Днепра.
Благодаря этому передовые части переправились почти без потерь. Высадившись, они в короткой схватке отбросили турецкий отряд и, заняв плацдарм на берегу, начали сооружать ретраншмент (полевое укрепление). Генерал-майор Аггей Шепелев принял командование войсками на правобережном плацдарме.
Утром 27-го на правый берег переправился второй выборный полк М.О. Кравкова, следом начали переправу остальные войска, в том числе и полк Патрика Гордона, оставившего в своем дневнике описание этих событий.
Лишь во второй половине дня 27 августа турки атаковали русские позиции. Этот бой решал успех всей переправы, так как к тому времени на правом берегу было всего несколько полков, однако первый и второй выборные полки отразили атаку янычар.
Получив от хана и турецких командиров донесение, что те не могут сдержать русских, Ибрагим-паша направил им подкрепления, а с оставшимися силами предпринял последнюю отчаянную попытку овладеть Чигирином.
Но Чигиринская крепость, обороняемая русско-украинским отрядом под командованием воеводы Ивана Ржевского, и на этот раз устояла.
Тем временем Ромодановский и Самойлович переправили уже 15 тыс. человек под командованием полковников Косагова и Новицкого, которые перешли в атаку и отбросили численно превосходящие силы противника.
28-го августа сражение продолжилось. Расширив занятый плацдарм, союзники закончили переправу и «знатную одержав победу над неприятелями, многих побили, гоня их на пять верст от Днепра…» (Я.Е Водарский, Международное положение Русского государства и русско-турецкая война 1676—1681 гг.; П. Гордон. Дневник 1677-1688 гг.)
Турки понесли значительные потери (около 10 тыс. убитыми, по словам французского посла в Константинополе Ф. де ла Круа). На поле сражения остались лежать сын крымского хана и сыновья паши. Русские и украинцы потеряли 2460 человек убитыми и около 5 тыс. ранеными.
Поражение в Бужинской битве или в "сражении у Бужина перевоза" заставило Ибрагим-пашу в ночь на 29 августа снять осаду Чигирина и поспешно отступить. Ведь в тылу турецко-татарского войска находилась Запорожская Сечь и при определенных обстоятельствах уже сам Ибрагим-паша со своим союзником Селим-Гиреем мог оказаться к югу от Днепра в окружении.
Тем более, что в это время с востока к Днепру уже подходила вторая русская армия - Большой полк князя В.В. Голицына, а коварные поляки в любой момент могли нарушить условия невыгодного для них Журавенского мира 1676 года и сами атаковать турецко-татарскую армию с запада.
Победа войск Ромодановского и Самойловича спасла крепость Чигирин от захвата ее турками, так как у 9-тысячного отряда воеводы Ивана Ржевского к тому времени уже заканчивались боеприпасы.
Бужинская победа означала также выигрыш всей военной кампании 1677 года и сохранение контроля России над всем средним течением Днепра и Киевом.
Заслуги командиров выборных полков, принявших на себя основной удар противника, были отмечены царем Федором Алексеевичем, который произвел их в следующие чины: Аггей Шепелев стал генерал-поручиком, а Матвей Кравков - генерал-майором.
Нельзя также не отметить полководческое искусство воеводы князя Григория Ромодановского и гетмана Ивана Самойловича. Крупная русская победа при Бужине по своим масштабам даже превосходит победу польского короля Яна Собесского над турками при Хотине в 1673 году,