1894年9月17日,平壤陷落后的第三天,日本联合舰队出现在鸭绿江口大东沟附近的黄海海面。这场战争日本已经期待已久,对日本来说,这是日本第一次真正有机会挑战这个强大的邻居。
联合舰队此次派出了共计12艘战舰,囊括了日本海军的全部精锐,其中有“吉野”、“高千穗”、“秋津洲”、“浪速”、“松岛”、“千代田”、“严岛”、“桥立”等8艘主力舰,日本联合舰队共有火炮268门,总兵力3916人,舰船平均航速为10.2节。
9月15日上午,北洋舰队的主力也已经抵达大连湾。北洋舰队共计有10艘主力舰,另有附属舰8艘,共计有195门火炮,总兵力2126人,平均航速为14.5节,统帅为丁汝昌。16日,丁汝昌的舰队护送一支支援朝鲜战场的登陆部队顺利登陆,然而他并不知道日本的联合舰队已经出现在不远的前方。次日上午8时,丁汝昌舰队开始返航,11时,北洋舰队和日本联合舰队相遇,丁汝昌判明为日本舰队后立即下令各舰升火、实弹,准备战斗。与此同时,日本联合舰队“吉野”号也发出了“东北方向发现三艘以上敌舰”的信号。
12时50分,北洋舰队旗舰“定远”首先开炮,紧接着“镇远”舰也开炮,发出炮弹,随后,北洋舰队各舰相继发炮,日本联合舰队在三分钟后也做出了反映,日本旗舰松岛也开始发炮还击。刹时间,双方各舰百炮一齐怒放,硝烟弥漫,海水沸腾。
尽管联合舰队在平均航速上要低于北洋舰队,但联合舰队第一游击队平均航速达19.4节,而且,联合舰队不仅在火炮数量上比北洋舰队要多,但由于联合舰队装备了为数不少的速射炮,这种速射炮的发射速度是原后装炮的六倍,也就是说,联合舰队的火力实际上相当于北洋舰队的三倍。
另外,双方战舰的保养此时也表现出明显的差异,北洋舰队由于多年懈怠,舰船维护不良,这导致一开战北洋舰队的旗舰“定远”号的舰桥竟然被自己舰船的炮火震塌,丁汝昌摔伤,信旗被毁,也就是说北洋舰队在一开战就失去了统一指挥。丁汝昌拒绝随从把自己投入内舱,坚持坐在甲板上督战。可是他只能鼓一舰士气,战斗刚开始,北洋舰队就失去了指挥。
开战后,联合舰队第一游击队4艘战舰利用航速优势对北洋舰队右翼的“超勇”、“扬威”二舰发起攻击,这两艘战舰很快相继被击中起火,退出战斗,13时30分左右,“超勇”号沉没。
此后,联合舰队和北洋舰队主力战舰开始互相轰击。
14时,联合舰队舰队主力已经与其第一游击队对北洋舰队形成夹击之势,北洋舰队腹背受敌,本来就已经失去统一指挥的队形此时陷入了困境,北洋舰队最前方的“致远”号被联合舰队“吉野”号、“高千穗”号等舰连续攻击后舰身毁损严重,已经发生倾斜。
此时,联合舰队第一游击队为支援“赤城”号和“比睿”号开始与“致远”号接近,当“吉野”号从“致远”号前经过的时候,管带邓世昌立即下令撞沉“吉野”,他希望能与其同归于尽。然而就在“致远”号向“吉野”号右舷高速航行的时候。“吉野”号一边进行规避,一边发射了两枚鱼雷,第一枚鱼雷没能击中,但第二枚鱼雷正中“致远”号,“致远”号连同其上252名官兵一起沉入大海。
随后,“经远”号继续迎战“吉野”,但也被“吉野”号猛烈的炮火打得伤痕累累,舰船上到处都燃起大火,随后,这艘战舰又被一枚鱼雷击中,管带林永升阵亡,全舰270人除16人获救外,全部殉难。
“致远”沉没后,“济远”号和“广甲”号相继撤出战队,“靖远”号和“来远”号也相继损伤严重而退出战斗。
不久,“定远”、“镇远”两舰尽管进行了殊死抵抗,但北洋舰队此时大势已去,联合舰队对剩下的北洋舰队战舰进行了集中炮击。
至下午3时30分,“镇远”30.5公分口径大炮发射的两枚炮弹击中联合旗舰“松岛”,“松岛”后甲板四号炮塔中弹后,大火引燃了装药,发生了大爆炸,这导致“松岛”船轴倾斜5度,100余人丧生。
下午17时40分,联合舰队已经完全取得了这场海战的胜利,伊东祐亨下令撤出战场。历时5个多小时的甲午海战就此结束,这场海战是第一场铁甲战舰舰队之间的大规模海战,日本由此一举奠定了对清优势,从此大清帝国在海洋上未能再取得制海权。
这次海战的结果是北洋舰队损失“致远”、“经远”、“超勇”、“扬威”、“广甲”(“广甲”逃离战场后触礁,几天后被自毁)5艘军舰,死伤官兵1000余人;日本联合舰队“松岛”、“吉野”、“比睿”、“赤城”、“西京丸”5舰毁损较重,其中“西京丸”号和“赤城”号两舰被拖行后不久后沉没,人员损失约为600人。
这次海战之后,日本与大清帝国之间的地位发生了转换,原本以大清帝国为核心的东亚体系被日本取代,并且,日本因这次战争而签订了《马关条约》,条约规定朝鲜、中国台湾和山东半岛交由日本控制,日本还获得高达白银2亿3000万两的赔偿,折合美元10亿之巨,在这之后,日本经济经历了一个爆发式的增长阶段。甲午之战则成为日本崛起的一个重要转折点,对国家来说,中国由此丧失同治中兴后昙花一现的繁荣,因此再次失去了一个走向繁盛的机会,而日本则由此开始现代化进程并进入世界列强行列。