海战打响后,日舰第一游击队见北洋舰队来势凶猛,特别是害怕北洋定镇两艘巨舰,所以一面发炮一面加速从定远、镇远二舰前面夺路而行,直扑北洋舰队的薄弱右翼超勇、扬威二舰。

    吉野、高千穗、秋津洲和浪速四舰集中火力猛攻,超勇和扬威竭力抗击,日舰多处受伤。但舰龄达十三年以上的超勇、扬威如何抵挡得了日本的第一游击队,下午一时二十分,黄建勋,左翼右营副将,超勇号管带在他指挥下,全舰官兵无不誓死作战,但“超勇”毕竟是舰龄十余年的老舰,终究敌不过日本游击队的四艘主力舰,激战中“超勇”舰中弹甚多,特别是一敌弹击穿舱内,引起大火,刹那间“超勇”全舰被黑烟笼罩,由于“超勇”舰是木质舰身,舱内起火无法施救,不久就右舷倾斜,难以行驶,最终被烈火焚没。黄建勋落水后,附近鱼雷艇驶近相救,抛长绳援之,不就而没,时年43岁。

    扬威也受重创,各炮塔已不能转动,在日舰轮番轰击下,不得不驶离战场,但又搁浅。林履中,右翼右营副将,扬威号管带,“扬威”是北洋水师中舰龄较老,作战和防卫能力较弱的老舰,又处于右翼阵脚最外侧。由于北洋水师阵列跨度较大,“定远”、“镇远”的炮火不能支援到两侧阵脚的战舰,于是扬威便遭到日本游击队"吉野"等四舰的猛攻。扬威先后中弹起火,正在此时,济远舰竟然转舵逃跑,撞扬威舵叶,扬威行愈滞,敌弹入机舱,舱内弹炸火起,渐不能支。在此危急时刻,林履中亲率千总三副曾宗巩等发炮攻敌不止。但扬威首尾各炮已不能转动,而敌炮纷至,舰身渐沉于海。林履中登台一望,奋然蹈海,都司帮带大副郑文超和守备二副郑景清同时落水。当时,左一鱼雷艇驶至,投长绳相援,林履中推而不就,随波而没,时年43岁。时人赞他“见危授命,激烈效忠,其所谓临大节而不可夺者”。

    在第一游击队开始炮击超勇、扬威的同时,以旗舰松岛为首的日舰本队也到达定远舰的正前方,双方展开了猛烈的炮击。十二时五十三分,松岛的一颗炮弹击中定远的桅杆,打坏定远通讯器,此时刘步蟾在汉纳根的协助下督战,指挥战舰不断变换方位,使日舰不能瞄准定位。

    沈寿堃在定远舰督炮击敌,重创日舰“松岛”、“比睿”、“赤城”、“西京丸”。这时定远305口径大炮发射一枚30公斤炮弹,击中日本旗舰松岛右舷下甲板,击毁第四号速射炮及左舷全部炮架,死伤达二十四人。

    松岛号舰长尾本知道在司令伊东佑亨的吩咐下,忙令军舰上的军乐队补充已阵亡士兵的位置继续战斗。

    由于敌舰攻击北洋旗舰,作为报复北洋水师将士也回过头来攻击日舰旗舰。此时,松岛也成了北洋舰队的炮火集中打击的目标,这时一颗炮弹又击坏松岛的三十二公分主炮塔,松岛见定、镇二舰炮火强大,急忙率本队转舵向左,加速驶避。北洋舰队也全队随之向右转舵,继续以舰首指向日舰。而位于日舰本队后半部的比睿等舰,因速度迟缓,远远落在后面。这样,本队便被拦腰截为两段,形势大为不利。

    北洋舰队抓住时机发动猛攻,各舰以右翼炮轰击松岛等前队,又以左翼炮轰击后面的三舰。一点时,松岛的七号炮位被定远击毁,而比睿已被靖远赶上,相距仅七百米。比睿见情势紧急,向右急转弯,试图从靖远和定远之间穿过,与本队会合。然而,比睿立即遭到北洋舰队的包围,炮弹从四面飞来,伤亡严重。靖远叶祖贵见状遂下令停止炮击,携带步枪的突击队排列在甲板上,准备靠近比睿,将其俘虏。然而事与愿违,樱井规矩之舰长在危急中,急令速射炮拼命发射,五分钟内发射了一千五百多发,迫使靖远难以靠近。

    沈寿堃见此情形,从右后方发炮轰击。比睿被其三十公分半巨弹击中,下甲板后部全部毁坏,舰上十九人当场炸死。顷刻间,烈火腾空,舰艇失去战斗力。两点钟左右,比睿依靠其速度逃出北洋舰队的炮火网,并挂出‘本舰火灾退出战列’的信号,向南驶离。

    位于本队左侧的赤城舰,速度最慢,落在最后。比睿驶离后,赤城孤立无助,完全暴露在北洋舰队左翼的炮火下,中弹累累。定远后部的十五公分炮弹击中赤城舰桥,一号炮手、二号炮手及两名水兵中弹身亡,正在指挥的坂元舰长被弹片击中头部,挂掉后,赤城仍不断中弹,舰上军官几乎非死即伤,失去战斗力,于是转舵向南驶离。来远在后尾追,连连发炮,先击倒桅杆,又中舰桥,代理舰长也受了伤。到下午二点半,赤城如丧家之犬般逃离作战海域。

    此时北洋舰队二舰被击沉,小日本舰队二舰重伤,失去战斗能力而退出战斗队列。

    下午二点半,平远、广丙两舰以及福龙、左一两艘鱼雷舰加入战斗。黄海海战打响时,当时沿大东沟近岸航行担任舰队侧翼警戒的鱼雷左一营都司蔡廷干,立即率领“福龙”号及本部鱼雷艇队尾随“平远”、“广丙”两舰奔赴大东沟海域参战。接着平远、广丙两舰首先与日舰西京丸、岩岛及旗舰松岛号交战。

    由于日舰比睿、赤城刚刚逃出战区,西京丸的右舷随即暴露在北洋舰队前方,立即遭到平远、广丙等北洋舰队各舰炮火的猛烈轰击。其舵机遭到损坏,只能靠人力舵勉强航行。不久,右舷又中一弹,立即出现裂缝,渗进海水。程璧光指挥广丙舰不断的击中敌舰,当平远驶近松岛二千二百米时,突然发射二十六公分炮弹,击中松岛的中央水雷室,四名鱼雷发射手中弹身亡。松岛也发炮还击,炸毁了平远的二十六公分主炮,并引起火灾。平远见势不敌,转舵驶避。两舰虽然都首发命中松岛及西京丸并引起大火,终因本身火力太弱,又系木质船身先后被日舰还击受创退出战斗。海战中,程璧光腹部被弹片击中,血染内衣,依然坚持指挥。

    面对强大的日本舰队,蔡廷干毫不畏缩,指挥属下艇队,把日方军旗舰舰松岛从舰队编队中分割开来,自己指挥福龙号向西京丸发射鱼雷,由于距离太远而没有命中。面对敌舰猛烈炮火的射击,蔡氏昂然挺立在指挥台上,下令福龙号全速衔尾向西京丸急进。当逼近敌舰约三十米时,西京丸连发三枚鱼雷,福龙号转舵避开。其后,福龙号立即折回,全速冲向西京丸舰首,又发射出一枚鱼雷。谁知鱼雷竟然从舰底穿过,其他将校也相对默然。但是因为距离太近,鱼雷从舰下穿过,未能触发,西京丸得以保全,向南驶离战场。无奈鱼雷已经用完,福龙艇遂全速退出战斗。中途救起不少堕海飘浮的北洋海军将士。

    此时,小日本舰队还剩九舰,与北洋舰队的八舰相对。第一游击队已经迂回到北洋舰队的背后,与本队策应夹攻,使北洋舰队首尾难以相顾。由于日舰以排炮击毁定远的信号装置,使北洋舰队指挥失灵。

    北洋舰队诸小队此时只能各自为战,队形也凌乱不整,但将校用命,士气未减。丁汝昌负重伤不能站立,裹伤后始终坐在甲板上激励将士。

    这时定远舰腹忽中一炮,猛烈的火焰从炸开的洞口喷出,定远忙集中人力灭火,攻势转弱而火势不减。日舰第一游击队趁机靠近攻击,镇远、致远见此情形,急速向旗舰靠拢,迎战日舰。定远的火灾最终得以扑灭,但致远舰却中弹累累。下午三半,数颗炮弹同时命中其水线鱼雷舱,并引起爆炸,右舷随即大量进水倾斜,见此情形,管带邓世昌依然指挥若定,下令军舰撞向吉野。奈何吉野慌乱之中发射了一枚鱼雷击中致远舰首,加速了舰首的下沉,最终使得致远舰大头朝下沉没大海。

    邓世昌落水后,拒绝接受救生圈,鱼雷艇左一也来救助,却被拒绝,其爱犬游到身边咬着他的手臂,想将他拖回救援船上,反被他用力按入水中,自己也随之沉没。全舰二百五十余名中外官兵,除七人获救外,全部葬身大海。战后,邓世昌的壮烈殉国震动了朝野,光绪帝亲笔赐挽联‘此日漫挥天下泪,有公足壮海军威’,又作诗一首:‘城上神威炮千斤,枉资剧冠挫我军,后来无道终许汝。’