12时05分,联合舰队第一游击队在先,以吉野号为首,本队在后,呈单纵阵,接近北洋水师。
12时20分,北洋水师在行进中由双纵阵改为横阵,旗舰定远位于中央,其余各舰在其左、右依次展开,舰队呈楔形梯队。但北洋舰队初衷是排成紧凑的夹缝雁行阵,而实际则排成松散横阵,类似“人”字形。原因有三种猜测,一种是北洋海军各舰传令兵传递命令发生错误;一种是部分北洋海军将领怯战而缩于阵后;而最接近事实的猜测是,计划位于阵型两翼的战舰(济远,广甲,超勇,扬威)基本为航速缓慢的老舰,却需要航行最远距离达到两侧。在没来来得及完成阵型部署的情况下,战斗已经打响。
鸭绿江口外海,大鹿岛海域,集中了两国几乎全部主力舰艇。
12时50分,双方舰队相距5300米,北洋水师旗舰定远舰首先开炮。联合舰队第一游击队在距北洋水师5000米处即向左转弯,航向北洋水师右翼。联合舰队航向北洋水师右翼,冒险将舰队暴露于北洋水师阵前。
12时53分,联合舰队旗舰松岛开始发炮还击。在日军的第一轮排炮下,定远主桅中弹,信号索具被炮火所毁(一说因战船老朽发炮时震塌飞桥),在飞桥上督战的丁汝昌身负重伤。从此时起,北洋水师各舰除能随定远进退之外,已经失去了指挥。
日本第一游击队四舰,一面以猛烈炮火射击,一面加快速度,横越北洋舰队阵前,左转舵,改道飞驰,绕攻北洋舰队右翼之超勇、扬威二弱舰。超勇、扬威均为1881年(光绪七年)下水的陈旧兵舰,舰龄已达十三年。且“舰中隔壁,俱为木造,施以油漆,粉饰外观”。实际上,老朽陈旧,速度迟缓,炮火不济,防御力极弱。二舰虽竭力抵抗,但在敌人四艘快速巡洋舰的一舷齐射的优势火力攻击下,终于中弹起火。
但是,当日本第一游击队绕过北洋舰队阵前,环攻右翼超勇、扬威时,其本队六舰恰好驶至北洋舰队犄角雁行阵"人"字形的前方。北洋舰队各舰舰首恰恰指向敌舰船腹。于是,北洋舰队各舰以舰首主炮猛烈轰击敌本队六舰。比睿、扶桑、西京丸号、赤城等后续诸舰,因速度迟缓,落于后方,被北洋舰队“人”字形阵尖将日本本队六舰组成之单纵阵拦腰截断,分割为二,这时,定远、镇远及右翼各舰发右舷炮火猛轰敌舰松岛、千代田、严岛、桥立;左翼之致远、靖远等舰则发左舷炮火截击比睿、赤城等后续各舰。在北洋舰队的猛烈炮火轰击下,比睿、赤城等“不能航行,终成孤军”,遭到北洋舰队的痛击。比睿中炮燃起大火,赤城号连连中弹,舰长板元八郎太被击毙,西京丸号也遭到重创。
日舰仓皇逃窜,北洋水师奋起直追。这时(2时5分),第一游击队已通过北洋舰队右翼,正拟转入北洋舰队背后,伊东祐亨急忙发出信号,命令第一游击队回救比睿、赤城。第一游击队奉召立即向左转舵回驶,以高速向比睿、赤城与北洋舰队之间运动,用左舷炮火射击,且击且进。赤城、比睿得救,乘机逃离战场。
此时,原停在大东沟口外的平远号防御铁甲舰、广丙及鱼雷艇,应召前来助战。驶到北洋舰队右翼后方,适与日本本队相遇,各舰立即向日舰发起攻击。2时34分,“平远发射二十六公分炮弹一发,命中松岛左舷军官室,贯穿鱼雷用具室。打死左舷鱼雷发射员四名”。3时10分又中一炮,炮弹“打穿左舷中央鱼雷室上部,在大樯下部爆炸。打死左舷鱼雷发射员二名”。3时15分,严岛又被平远击中两炮。但同时平远亦被日舰击中起火,被迫退出战场。这时,日舰本队已驶过北洋舰队右翼,继续向右转舵,绕至北洋舰队背后,恰好与第一游击队形成对北洋舰队夹击之势。于是,日本舰队处境开始转向上风,北洋舰队因被包围,处于内线作战,腹背受敌,转趋不利地位。在这一刻开始胜利的天平开始向日本方向倾斜了。
北洋舰队虽腹背受敌,形势不利,但广大官兵毫不畏缩气馁,反而“愈战愈奋,始终不懈”。提督丁汝昌身受重伤,不下火线,置个人生命安危于不顾,裹伤后,坐于甲板上鼓舞士气,“激励将士,同心效命”。右翼总兵定远管带刘步蟾于丁汝昌负伤后,“代为督战,指挥进退”,尤为出力。广大士兵顽强奋战,不怕牺牲的爱国主义精神更为感人。就连亲身参加海战的定远副管驾英人泰莱也承认:“众士兵均狞厉振奋,毫无恐惧之态。当予巡视时,一兵负重伤,同侣嘱其入内修养;及予重至此炮座,见彼虽已残废,仍裹创工作如常"。超勇、扬威虽被日本第一游击队击中起火,但并未停止战斗。官兵们一面救火,一面抗击。”特别是超勇舰体虽已左右倾斜,然犹以前部炮火发射不停。当比睿冒险闯入北洋舰队阵中,企图抄近路与本队会合时,适与超勇相遇。超勇在烈焰升腾中也不肯放过敌舰。一面救火,一面向比睿发炮轰击,表现了同敌人血战到底的英雄气概。之后,敌舰本队绕至北洋舰队阵后,聚攻超勇。超勇孤立无援,2时23分,终于在敌舰炮火丛集下,于东经123度32分1秒,北纬39度35分海面沉没。管带黄建勋落水,“左一”鱼雷艇驶近相救,抛长绳援之,黄不就,从容死难,舰上士兵也大部壮烈牺牲。
致远号官兵奋勇杀敌,视死如归的英雄气概,尤为可钦可佩,可歌可泣。在管带邓世昌指挥下,致远号纵横海上,与敌奋战,中弹累累,受伤欹侧。在激烈的战斗中,炮弹垂尽。这时,恰与日舰吉野相遇。邓世昌见吉野恃其船捷炮利,横行无忌,气愤地对大副陈金揆说:“倭舰专恃吉野,苟沉是船,则我军可以集事。”决意与之冲撞,同归于尽。准备以已之牺牲,保全军之胜利。陈金揆深为感奋,遂鼓快车向吉野猛力冲突。日本官兵见状大惊失色,集中炮火向“致远”射击,“致远”舰右侧鱼雷发射管被击中,引起大爆炸,3时30分,以右舷倾斜,在东经123度34分,北纬39度32分的黄海海面上沉没。全舰官兵除七名遇救外,全部壮烈殉国。
邓世昌坠海后,随从刘忠跳入海中以救生圈援救,使之浮出水面。邓世昌以“阖船俱没,义不独生”,仍复奋掷自沉。邓世昌平时蓄一爱犬,游至身边,以口衔世昌臂,使之不沉。世昌挥之不去,并以口衔其发辫。邓世昌抱决与全舰将士同生死、共存亡的决心捺犬首于水,自己也沉没于汹涌的波涛之中,牺牲时年仅四十六岁。