Утром 27 мая Рожественский перестроил все корабли эскадры в две кильватерных колонны, оставив позади транспортные суда под охраной крейсеров. Втянувшись в Корейский пролив, русские суда в половине второго дня обнаружили главные силы японского флота, которые справа по носу выдвигались наперерез эскадре Рожественского. Рожественский, полагая, что японцы намереваются атаковать левую колонну его эскадры, где преобладали устаревшие суда, перестроил эскадру в одну колонну. Между тем два отряда броненосных кораблей японского флота, выйдя на левый борт, стали совершать поворот на 16 румбов, находясь всего в 38 кабельтовых от головного корабля русской эскадры. Этот рискованный поворот длился четверть часа, но Рожественский не воспользовался благоприятным моментом для обстрела неприятельского флота. Впрочем, с учетом реальной точности стрельбы тогдашней корабельной артиллерии на этой дистанции и уровня подготовки русских комендоров, маловероятно, что за четверть часа эскадра Рожественского успела бы потопить хотя бы один крупный неприятельский корабль.
Русские корабли открыли огонь только в 13 часов 49 минут, когда Того уже завершал поворот судов. Русские артиллеристы были очень плохо подготовлены к стрельбе на больших дистанциях и не смогли причинить японцам сколько-нибудь значительного ущерба. К тому же качество русских боеприпасов оказалось низким. Многие из них не взрывались. Из-за плохого управления огнем русские корабли не смогли сосредоточить огонь на отдельных неприятельских судах. Японцы же сконцентрировали огонь артиллерии своих броненосцев на русских флагманах «Суворов» и «Ослябя».
В 14 часов 23 минуты броненосец «Ослябя», получив тяжелые повреждения, вышел из боя и вскоре затонул. Семью минутами позже был выведен из строя «Суворов». Этот броненосец продержался на плаву до седьмого часа вечера, когда он был потоплен японскими миноносцами.
После выхода из строя флагманов боевой порядок русской эскадры расстроился, и она потеряла единое командование. Первым оказался броненосец «Александр III», а после его выхода из строя колонну возглавил броненосец «Бородино». В 15 часов 05 минут над Цусимским проливом сгустился туман, и противники потеряли друг друга из виду. Но 35 минут спустя японцы вновь обнаружили эскадру Рожественского и вынудили ее изменить курс с норд-оста на зюйд. Затем Того опять потерял контакт с неприятелем и вынужден был бросить на поиски русских свои главные силы. Только около 6 часов вечера японские броненосцы настигли русскую эскадру, которая вела в тот момент перестрелку с крейсерами японцев.
Теперь бой главных сил велся на параллельных курсах. В 19 часов 12 минут стемнело, и Того прекратил сражение. К тому времени японцы успели потопить «Александра III» и «Бородино». После прекращения боя главные силы японского флота отошли к острову Оллындо (Дажелет). Добить русскую эскадру должны были миноносцы путем торпедных атак.
В 8 часов вечера 60 японских миноносцев начали охватывать основные силы русской эскадры. В 8.45 вечера японцы дали первый торпедный залп. За ним последовали другие. Всего с дистанции от 1 до 3 кабельтовых было выпущено 75 торпед, из которых достигли цели всего 6. Прицельным пускам мешала темнота. Отражая атаки миноносцев, русские моряки потопили 2 неприятельских миноносца. Еще один японский миноносец потонул и 6 получили повреждения, столкнувшись друг с другом.
Утром 15 мая эскадра Рожественского из-за частых уклонений от атак японских миноносцев оказалась рассредоточена по всему Корейскому полуострову. Русские корабли уничтожались превосходящими силами противника поодиночке. Во Владивосток удалось прорваться только крейсеру «Алмаз» и 2 миноносцам. Большинство судов были потоплены. 4 броненосных корабля и миноносец, на котором находились тяжело раненный Рожественский и младший флагман контр-адмирал Н. И. Небогатов, были захвачены в плен.
По возвращении в Россию Небогатова сделали главным виновником цусимской катастрофы и приговорили к смертной казни за сдачу остатков флота противнику (раненого Рожественского судить было нельзя). Смертная казнь была заменена 10 годами каторжных работ, а через 2 года Небогатова помиловали и выпустили на свободу. Русские потери в Цусимском сражении составили около 10 тысяч человек, в том числе 5045 убитыми и 803 ранеными, японские – 116 убитыми и 538 раненых. В русско-японской войне военные потери России, по официальным данным, составили 31 630 убитыми, 5514 умершими от ран и 1643 умершими в плену. 11 170 русских солдат скончались от болезней. В плен попало около 60 тысяч военнослужащих, из них примерно 16 тысяч – ранеными. О потерях Японии достоверных данных не имеется, поскольку в результате атомной бомбардировки Хиросимы был уничтожен архив сухопутных сил. Иностранные наблюдатели в большинстве битв полагают японские потери меньше русских, за исключением осады Порт-Артура.