Российский Черноморский корабельный флот насчитывал 10 линейных кораблей (включая один 80-пушечный и четыре 66-пушечных), 6 фрегатов (всего на кораблях и фрегатах — 836 орудий), одно репетичное судно, 13 крейсерских судов и два брандера.
Пройдя вдоль берегов Крыма до Тамани, Ушаков утром 8 июля, направив крейсерские суда в дозор, встал с флотом на якорь у Керченского пролива.
Вскоре после 9 часов крейсерское судно, державшееся в стороне Анапы, сигналом донесло о появлении противника.
Через полчаса на горизонте показался турецкий флот в составе 10 линейных кораблей (в том числе четыре флагманских), 8 фрегатов и 36 судов других классов, включая бомбардирские корабли, шебеки, бригантины, лансоны и кирлангичи.
Всего на линейных кораблях и фрегатах имелось до 1100 пушек. Таким образом, турецкий флот имел некоторое превосходство в количестве кораблей в линии баталии и явное превосходство в количестве пушек.
Ушаков решил принять #бой под парусами, снялся с флотом с якоря и построил линию баталии из 16 кораблей и фрегатов, имея в авангарде капитана бригадирского ранга Г.К. Голенкина на 66-пушечном корабле «Мария Магдалина».
Пользуясь превосходством в силах и наветренным положением, Хюсейн-паша с десятью линейными кораблями атаковал российский #флот, направив главный удар на его авангард.
Маневр турецких линейных кораблей прикрывался бомбардирскими судами, стрелявшими из тяжелых мортир с дальней дистанции. Турецкие фрегаты и крейсерские суда держались за линией баталии. Около полудня линейные #корабли Хюсейна открыли огонь, русские по сигналу Ушакова вступили в бой с неприятелем.
Капитан-паша, беспрестанно усиливая свою атаку , подкреплял прибавлением кораблей и разными судами с большими орудиями.
С целью нейтрализации усилий противника Ф.Ф. Ушаков сигналом вывел из линии баталии шесть сравнительно слабых 40-пушечных фрегатов, образовав из них под ветром «корпус резерва», для подкрепления авангарда. Одновременно он приказал сомкнуть линию, т. е. противопоставил турецкой атаке сильнейшие корабли, и сам поспешил на помощь своему авангарду.
Около 15 ч перемена ветра позволила российским кораблям сблизиться с противником на дистанцию картечного выстрела (менее 100 метров), при этом сам Ушаков на 80-пушечном корабле «Рождество Христово» атаковал флагманский корабль капудан-паши.
Фрегаты «корпуса резерва», следуя 40-пушечному «Иоанну Воинственнику» под командованием капитана 2-го ранга А. Г. Баранова, продвинулись вперед и поддержали авангард своей линии баталии.
В 16 ч, когда головные русские корабли, приводя круче к ветру, поставили авангард противника в опасное положение, турецкий флот, вслед за кораблем Хюсейна-паши, устремился выйти из боя и в беспорядке повернул почти на обратный курс, разойдясь контр-галсами с #российской линией баталии.
При этом некоторые турецкие корабли, включая флагманский корабль Хюсейна и вице-адмиральский, при повороте попали под жестокий огонь с «Преображения Господня» и «Рождества Христова». На одном турецком корабле была сбита бизань-мачта, на вице-адмиральском упали сбитые фор-марсель и крюйсель. Один турецкий кирлангич, державшийся среди линейных кораблей, был потоплен. Многие турецкие корабли потеряли сбитые ядрами и упавшие в воду флаги. Один из них был подобран шлюпками с корабля «Святой Георгий Победоносец» и взят в качестве трофея.
Ф. Ф. Ушаков, выйдя на ветер, на своем флагманском корабле повернул на правый галс для преследования противника, приказав авангарду повернуть оверштаг, а прочим кораблям, не соблюдая порядковых номеров в линии баталии, вступить в кильватер кораблю «Рождество Христово». Таким образом, командующий российским флотом выстроил линию баталии и собрался ударить отступающий в замешательстве турецкий флот.
Скорость турецких кораблей и наступившая вскоре после 20 ч темнота позволили Хюсейн-паше избежать нового столкновения и спастись бегством от возможного разгрома.
Ночью Ушаков, продолжая погоню, приказал зажечь огни и придерживаться вероятного курса отступления противника. Но последний утром обнаружен не был, и Черноморский корабельный флот направился в Феодосийскую бухту для исправления повреждений в рангоуте и такелаже, которые, по мнению командующего, препятствовали дальнейшему походу и поискам неприятельского флота у берегов Турции. Вечером 12 июня флот Ушакова вернулся на Севастопольский рейд.
В результате сражения турецкий десант в Крым был сорван, многие турецкие линейные корабли получили повреждения и, очевидно, понесли значительные потери в личном составе, которые, впрочем, точно не известны.
В пятичасовом сражении российские линейные корабли выпустили около 21 000 снарядов (по 70 на каждую пушку одного борта). Из полученных ими повреждений наиболее серьезными были простреленные ядрами грот-мачты на кораблях «Рождество Христово», «Святой Павел» и «Иоанн Богослов», а также фок-мачта на «Святом Андрее Первозванном».
Потери в людях составляли 29 убитых и 68 раненых, включая 4 офицеров.
Победу в Керченском сражении высоко оценил генерал-фельдмаршал Г. А. Потемкин и императрица Екатерина II.