海战打响后,日舰第一游击队见北洋舰队来势凶猛,特别是“畏定、镇二舰甚于虎豹”,所以一面炮一面加从定远、镇远二舰前面夺路而行,直扑北洋舰队的薄弱右翼勇、扬威二舰。吉野、高千穗、秋津洲和浪四舰集中火力猛攻,勇和扬威竭力抗击,日舰多处受伤。但舰龄达十三年以上的勇、扬威毕竟不敌号称“帝国精锐”的第一游击队,下午一时二十分,黄建勋,左翼右营副将,勇号管带在他指挥下,全舰官兵无不誓死作战,但“勇”毕竟是舰龄十余年的老舰,终究敌不过日本游击队的四艘主力舰,激战中“勇”舰中弹甚多,特别是一敌弹击穿舱内,引起大火,刹那间“勇”全舰被黑烟笼罩,由于“勇”舰是木质舰身,舱内起火无法施救,不久就右舷倾斜,难以行驶,最终被烈火焚没。黄建勋落水后,“左一”鱼雷艇驶近相救,抛长绳援之,不就而没,时年43岁。
扬威也受重伤,各炮已不能转动,在日舰轮番轰击下,不得不驶离战场,但又搁浅。林履中,右翼右营副将,扬威号管带,“扬威”是北洋水师中舰龄较老,作战和防卫能力较弱的老舰,又处于右翼阵脚最外侧。由于北洋水师阵列跨度较大,“定远”、“镇远”的炮火不能支援到两侧阵脚的战舰,于是“扬威”便遭到日本游击队":吉野":等四舰的猛攻。“扬威”先后中弹起火,正在此时,“济远”舰竟然转舵逃跑,“撞扬威舵叶,扬威行愈滞,敌弹入机舱”,舱内弹炸火起,“渐不能支”。在此危急时刻,林履中亲率千总三副曾宗巩等炮攻敌不止。但":扬威":尾各炮已不能转动,而敌炮纷至,舰身渐沉于海。林履中登台一望,奋然蹈海,都司帮带大副郑文和守备二副郑景清同时落水。当时,“左一”鱼雷艇驶至,投长绳相援,林履中推而不就,随波而没,时年43岁。时人赞他“见危授命,激烈效忠,其所谓临大节而不可夺者”。
在第一游击队开始炮击勇、扬威的同时,以旗舰松岛为的日舰本队也到达定远舰的正前方,双方展开了猛烈的炮击。十二时五十三分,松岛的一颗炮弹击中定远的桅杆,打坏定远通讯器,此时刘步蟾在汉纳根的协助下督战,指挥战舰不断变换方位,使日舰不能瞄准定位。
沈寿?在“定远”舰督炮击敌,重创日舰“松岛”、“比睿”、“赤城”、“西京丸”。这时“定远”305mm口径大炮射一枚30公斤炮弹,击中日本旗舰“松岛”右舷下甲板,击毁第四号射炮及左舷全部炮架。死伤达二十四人。
松岛号舰长尾本知道在司令伊东佑亨的吩咐下,忙令军舰上的军乐队补充已阵亡士兵的位置继续战斗。
由于敌舰攻击北洋旗舰,作为报复北洋水师将士也回过头来攻击日舰旗舰。此时,松岛也成了北洋舰队的炮火集中打击的目标,十二时五十五分,一颗炮弹又击坏松岛的三十二公分主炮塔,松岛见定、镇二舰炮火强大,急忙率本队转舵向左,加驶避。北洋舰队也全队随之向右转舵,继续以舰指向日舰。而位于日舰本队后半部的比睿等舰,因度迟缓,远远落在后面。这样,本队便被拦腰截为两段,形势大为不利。
北洋舰队抓住时机动猛攻,各舰以右翼炮轰击松岛等前队,又以左翼炮轰击后面的三舰。一时四分,松岛的七号炮位被定远击毁,而比睿已被靖远赶上,相距仅七百米。比睿见情势紧急,向右急转弯,试图从靖远和定远之间穿过,与本队会合。然而,比睿立即遭到北洋舰队的包围,炮弹从四面飞来,伤亡严重。靖远叶祖贵见状遂下令停止炮击,携带步枪的突击队排列在甲板上,准备靠近比睿,将其俘虏。然而事与愿违,樱井规矩之舰长在危急中,急令射炮拼命射,五分钟内射了一千五百多,迫使靖远难以靠近。
沈寿?见此情形,从右后方炮轰击。比睿被其三十公分半巨弹击中,下甲板后部全部毁坏,舰上十九人当场炸死。顷刻间,烈火腾空,舰艇失去战斗力。一时五十五分,比睿依靠其度逃出北洋舰队的炮火网,并挂出“本舰火灾退出战列”的信号,向南驶离。
位于本队左侧的赤城舰,度更为迟缓,落在最后。比睿驶离后,赤城孤立无助,完全暴露在北洋舰队左翼的炮火下,中弹累累。一时二十分,定远后部的十五公分炮弹击中赤城舰桥,一号炮手、二号炮手及两名水兵中弹身亡,正在看海图的坂元舰长被弹片击中头部,鲜血染红了海图。坂元死后,赤城仍不断中弹,舰上军官几乎非死即伤,势难支持,便转舵向南驶离。来远在后尾追,连连炮,先击倒大樯,又中舰桥,代理舰长也受了伤。到下午二时半,赤城总算逃离作战海域。
此时北洋舰队二舰被击沉,小日本舰队二舰重伤,失去战斗能力而退出战斗队列。
下午二时半,平远、广丙两舰以及福龙、左一两艘鱼雷舰加入战斗。黄海海战打响时,当时沿大东沟近岸航行担任舰队侧翼警戒的鱼雷左一营都司蔡廷干,立即率领“福龙”号及本部鱼雷艇队尾随“平远”、“广丙”两舰奔赴大东沟海域参战。下午2时30分,“平远”、“广丙”两舰先与日舰“西京丸”、“岩岛”及旗舰“松岛“号交战。当时日舰比睿、赤城刚刚逃出战区,西京丸的右舷随即暴露在北洋舰队前方,立即遭到平远、广丙等北洋舰队各舰炮火的猛烈轰击。其舵机遭到损坏,只能靠人力舵勉强航行。不久,右舷又中一弹,立即出现裂缝,渗进海水。程璧光指挥“广丙”舰不断的击中敌舰,当平远驶近松岛二千二百米时,突然射二十六公分炮弹,击中松岛的中央水雷室,四名鱼雷射手中弹身亡。松岛也炮还击,炸毁了平远的二十六公分主炮,并引起火灾。平远见势不敌,转舵驶避。两舰虽然都命中“松岛”及“西京丸”并引起大火,终因本身火力太弱,又系木质船身先后被日舰还击受创退出战斗。海战中,程璧光腹部被弹片击中,血染内衣。
面对强大的日本舰队,蔡廷干毫不畏缩,指挥属下艇队,把日方军旗舰舰“松岛”从舰队编队中分割开来,自己指挥“福龙”号向“西京丸”射鱼雷,由于距离太远而没有命中。面对敌舰猛烈炮火的射击,蔡氏昂然挺立在指挥台上,下令“福龙”号全衔尾向“西京丸”急进。当逼近敌舰约三十米时,“西京丸”连三枚鱼雷,“福龙”号转舵避开。其后,“福龙”号立即折回,全冲向“西京丸”舰,又射出一枚鱼雷。根据当时在舰上指挥作战的日本海军军令部长桦山资纪中将的《回忆录》文中描述:“目睹此情,本舰已无法躲避,我也只好闭目待毙。”谁知鱼雷竟然从舰底穿过,其他将校也相对默然。但是因为距离太近,鱼雷从舰下穿过,未能触,西京丸得以保全,向南驶离战场。无奈鱼雷已经用完,“福龙”艇遂全退出战斗。中途救起不少堕海飘浮的北洋海军将士。
此时,小日本舰队还剩九舰,与北洋舰队的八舰相对。第一游击队已经迂回到北洋舰队的背后,与本队策应夹攻,使北洋舰队尾难以相顾。由于日舰以排炮击毁定远的信号装置,使其指挥失灵。
北洋舰队诸小队虽然只能各自为战,队形也凌乱不整,但将校用命,士气未减。丁汝昌负重伤不能站立,裹伤后始终坐在甲板上激励将士。
三时四分,定远舰腹忽中一炮,猛烈的火焰从炸开的洞口喷出,定远忙集中人力灭火,攻势转弱而火势不减。日舰第一游击队趁机驶近攻击。镇远、致远见此情形,急向旗舰靠拢,迎战日舰。定远的火灾终于得以扑灭,但致远舰却中弹累累。下午三时二十分,数颗榴弹同时命中其水线,并引起鱼雷射管内的一颗鱼雷爆炸,右舷随即倾斜。关键时刻,致远舰因缺乏堵塞水门的橡皮,未能阻止大量海水从裂缝涌入。见此情形,管带邓世昌依然指挥若定,下令军舰撞向吉野。奈何吉野用其射炮猛烈攻击致远舰,加了舰的下沉,最终使得致远舰推进器悬空,大头朝下沉没。
据美籍海员马吉芬记载:“瞬间,该舰即向一方倾斜。最以勇敢著称之邓舰长世昌,早经觉悟已迫于最期,能破敌一舰,斯可以洁此生,故毅然决然出于杀身成仁之举。冒敌舰所巨弹有如雨霰,加之自舰倾斜已甚,致功业成之际遽尔颠覆,舰先行下沉,推进器直现于空中,犹在旋转不已。惜哉,壮哉!”
邓世昌落水后,拒绝接受救生圈,鱼雷艇左一也来救助,亦不应。其爱犬游到身边衔其臂,被他用力按入水中,自己也随之没于波涛中。全舰二百五十余名中外官兵,除七人获救外,全部葬身大海。战后,邓世昌之死震动了朝野,光绪帝闻其牺牲得极为壮烈,遂亲笔赐挽联“此日漫挥天下泪,有公足壮海军威”,又作诗一云:“城上神威炮千斤,枉资剧冠挫我军;后来无道终许汝;
致远沉没后,位于北洋舰队左翼外侧的济远、广甲二舰就变得孤立于本队了。开战后,济远数次中炮,伤亡十余人,管带方伯谦便挂出“本舰重伤”信号。后来,他看见致远沉没,连忙转舵向西驶离战区,于半夜二时许回到旅顺港。广甲管带吴敬荣见济远西驶,也随之而逃,半夜驶至大连湾外时,慌不择路,船底触礁搁浅。吴敬荣弃船登岸,两天后广甲被日舰驶近击毁。战后,李鸿章奏请严厉惩办逃将,九月二十三日,军机处电寄谕旨:方伯谦军前正法,吴敬荣革职留任。次日拂晓,方伯谦被押至旅顺黄金山下斩。
济远、广甲逃离后,第一游击队死死咬住经远一舰,四面围攻。经远以一抵四,并无畏惧,拒战良久。林永升,左翼左营副将,经远号管带同左翼左营守备陈京莹协同御敌救火,毫不畏惧,表现极为出色,激战中,管带林永升头部中炮牺牲,随后帮带大副陈荣也中炮壮烈牺牲,接着陈京莹接替指挥,全舰将士戮力奋战,不久陈京莹也中炮阵亡,陈京莹牺牲后,经远水兵在没有指挥官的情况下仍然坚持作战。此时,四艘日舰逼近到二千米以内,用射炮实施近距离打击,终于将经远击沉。全舰二百七十余人中,除十六人获救生还外,其余全部遇难。
至此北洋舰队二主力舰沉没、二舰逃走,只剩下定远、镇远、靖远、来远四艘主力舰;小日本舰队一舰重伤逃脱,尚有九艘战舰。日本方面跃居绝对优势。