Турки заметили неподвижность армии Румянцева, но думали, что она происходит от осознания собственной обреченности. В 10 часов утра 20 июля турецкая армия снялась со своей позиции и двинулась к селению Грачени. Румянцев наблюдал это движение с высокого холма. При виде турецкой армии, остановившейся к вечеру в двух верстах не доходя Траянова вала и выбирающей позицию, Румянцев – несмотря на малочисленность своей армии, в которой после отвлечения до 6000 человек на прикрытие обозов оставалось всего 17 000 человек – сказал окружавшему его штабу: «Если турки осмелятся в этом месте разбить хоть одну палатку, я их атакую в эту же ночь».
Турецкая армия разбила свой лагерь в семи верстах от русских войск, на левом берегу реки Кагул, близ ее устья. После рекогносцировки русской позиции 19 июля визирь составил следующий план атаки: имитируя наступление на центр русской армии, все главные силы устремить на левое крыло, стараясь опрокинуть русских в реку Кагул. При звуке выстрелов крымский хан должен был перейти реку Сальчу и всеми своими силами ударить с тыла. По сведениям, полученным от пленных, визирь и хан планировали атаку на 21 июля.
Румянцеву было необходимо атаковать турок прежде, чем татары успеют напасть с другой стороны. Поэтому в час ночи на 21 июля русские войска выступили с позиции и, соблюдая тишину, проследовали к Траянову валу. Во время этого движения в турецком лагере произошла фальшивая тревога со стрельбой, но затем вновь восстановилось спокойствие. На рассвете русская армия перешла Траянов вал и выстроилась в линии. Когда турки заметили атакующих, они послали массы конницы, которая растянулась перед всем русским фронтом и повела атаку. Русские силы остановились и открыли огонь. Особенно эффективен был огонь артиллерии. Когда артиллерия отбила атаку на центр, турки переместили удар вправо для усиления атаки на колонны генерала Брюса и князя Репнина. Воспользовавшись лощиной между этими каре, турки окружили их со всех сторон.
В это время Румянцев отправил резервы из атакованных колонн для занятия лощины и создания угрозы турецким путям отступления к лагерю и ретраншаментам. Этот маневр удался: турки, боясь потерять пути отступления, бросились из лощины к ретраншаменту под картечным огнем русской артиллерии. При этом остальная турецкая конница, атаковавшая каре на правом и левом флангах, также поспешно отступила. Неуспех сопутствовал туркам и на левом их фланге, где генерал Баур не только отбил атаку, но и перешел в наступление и под огнем успешно штурмовал 25-пушечную батарею, а затем захватил и ретраншамент, овладев 93 орудиями.
Отразив турецкую атаку, русские войска в 8-м часу утра двинулись к главному ретраншаменту турецкого лагеря. При подходе русских войск турки открыли огонь по каре генералов Олица и Племянникова. При подходе каре Племянникова к ретраншаменту около 10 000 янычар спустились в лощину между центром и левым флангом укрепления и ринулись на каре, ворвались в него и смяли некоторые части. Каре было расстроено, янычары захватили два знамени и несколько зарядных ящиков, русские солдаты спасались бегством, пытаясь укрыться в каре генерала Олица и тем приводя его в беспорядок.
Заметив это и опасаясь за участь каре, Румянцев обратился к принцу Брауншвейгскому, бывшему поблизости, и спокойно сказал: «Теперь настало наше дело». С этими словами он поскакал из каре Олица к бегущим войскам Племянникова и одной фразой: «Ребята, стой!» – удержал бегущих, которые остановились и сгруппировались около Румянцева. Одновременно по янычарам открыла огонь батарея Мелиссино, с двух сторон их атаковала кавалерия, а генерал Баур, уже вошедший в ретраншамент, отправил от себя батальон егерей для атаки янычар слева и для продольного обстрела рва перед ретраншаментом, в котором также засели янычары. После замешательства, произведенного взрывом зарядного ящика, 1-й гренадерский полк бросился в штыки. Янычары были обращены в бегство, кавалерия стала их преследовать. В это же время каре были приведены в порядок, фланговые колонны заняли весь ретраншамент и отбили захваченные турками знамена. После потери укреплений, артиллерии и обозов турки увидели, что корпус князя Репнина заходит им в тыл, в 9 часов утра оставили лагерь и обратились в бегство под фланговым огнем корпуса Репнина.
Медаль «За победу при Кагуле».