1894年9月初,日本陸軍開始向平壤集結,告急電報不斷傳來,李鴻章在請示朝廷之後,決定抽調淮軍劉盛林部前往增援。此次增援共調用五艘運兵船。為了確保運兵安全,丁汝昌提前率北洋海軍大隊前往大東溝一帶海域護航警戒。
出發的這一天是9月16日。在這前一天,日軍已攻陷平壤,可由於平壤電報線路中斷,國內並不知情,故增援計劃仍如期進行。當天下午,北洋海軍抵達大東溝。丁汝昌令“平遠”“廣丙”及兩艘魚雷艇護送運兵船進入江口,其餘十艘主力戰艦則在江口外待命。而此時一直在苦苦尋找北洋海軍決戰的日本聯合艦隊也發現了北洋海軍的動向,迅速向大東溝猛撲過來。
17日上午,兩軍相遇於黃海。一場決戰已不可避免。中午十二時許戰鬥打響。日軍參戰艦船為十二艘,北洋海軍先是以十艘戰艦迎戰,一個小時後,護送運兵船進入江口的“平遠”“廣丙”及兩艘魚雷艇趕到,雙方船隻數量和總噸位大體相等,但在船速、火力、艦齡和訓練等方麵日本卻明顯優於我們。尤其是船速和火力在海戰中至關重要。當時,日艦航速最高的“吉野”時速達二十三海裏,達到二十海裏左右的新艦也有七八艘,而北洋海軍最好的艦隻,如“濟遠”“經遠”“來遠”,時速僅為十五六海裏,相差較大。此外,日艦快炮多,射速快,北洋海軍五分鍾打一炮,他們一分鍾打五炮。日本艦隊性能上的優勢在戰鬥中很快顯現出來。
當天上午十時左右,“鎮遠”首先發現日艦,丁汝昌下令迎剿。北洋艦隊隨即分成五個小隊,以夾縫雁行陣,向前急駛,而日本海軍則以十二艦魚貫猛撲。及至發現日艦以單縱隊駛來,丁汝昌遂下令改為橫隊迎戰。丁汝昌下達這樣的命令是考慮我艦多為前主炮,正麵迎敵,有利於發揮火力。可是,由於變隊匆忙,加之平日缺乏訓練,各艦未能及時到位,結果隊形不整,旗艦“定遠”凸顯在前,暴露在敵人的炮火之下。此時,雙方相距已越來越近,“定遠”首先開炮,沒想到這一炮沒有打中日艦,卻把自己的艦橋震塌了。正在艦橋上督戰的丁汝昌從高處跌落到甲板上,身負重傷。不久,“定遠”艦的信號裝置又被日軍炮火摧毀,作為旗艦已無法實施有效指揮。身負重傷的丁汝昌包紮後,拒絕進艙躲避,堅持坐在甲板上進行督戰,可是由於戰前沒有指定代理人和代理旗艦,北洋海軍失去了統一指揮,隻能各自為戰。
而日艦卻按照事前的戰術安排,憑借其“船快炮快”的優勢,以其快速機動的優勢插入北洋海軍中間,忽分忽合,左右穿插,使丁汝昌試圖發揮正麵火力的想法完全落空。更糟糕的是,由於平時缺少有針對性的訓練,各艦遇到情況無法及時應變,加上旗艦與各艦之間的聯係中斷,隊形一時大亂。
戰鬥一打響,局麵就對北洋海軍十分不利。由於失去統一指揮,加上事前並未做好充分的預案,北洋各艦隻好各自應戰。而日艦卻戰術明確,以其本隊拖住我軍主力,其第一遊擊隊則插入我軍右翼,首先以四艦的優勢兵力瞄準我較弱的“超勇”“揚威”進行攻擊,在局部形成以多打少,以強打弱。北洋“超勇”“揚威”兩艘均為老舊巡洋艦,船速慢、炮火弱,而敵第一遊擊隊所屬四艦均為新購之艦,船速快、火力強,交戰中後者很快占據上風。
盡管局勢不利,但北洋官兵並未怯戰,相反卻表現出了高昂的戰鬥精神。據“定遠”號外籍船員馬吉芬回憶說,中日開戰以來,北洋海軍無不銳意備戰。出發前,各艦將舢板等救生工具一律撤除,意在破釜沉舟,與艦共存亡。
在強敵圍攻之下,“超勇”“揚威”兩艦全力以赴,傾力還擊,先後擊傷敵艦“高千穗”“秋津洲”和“浪速”。北洋海軍主力則在左翼迎戰日艦本隊,擊傷日艦“赤城”“比睿”和旗艦“西京丸”號,迫使三艦退出戰場。遺憾的是,敵旗艦“西京丸”號受傷後,我魚雷艇“福龍”號趕到,竟然連發三枚魚雷,均未擊中目標,其中一次發射僅距對方四十餘米,[415]可見平日訓練水平之差到了何種地步!
戰鬥開始階段,雙方相互僵持。下午一時許,戰局發生逆轉。日艦的船速和火力逐漸占據上風。它們靈活機動,夾擊包抄。據李鴻章的報告稱,敵艦“天花子彈如雨,一排所發,即有百餘子之多”,其火力之猛,可以想見。先是“超勇”被日艦擊沉,管帶黃建勳落水後,拒絕施救,英勇就義。之後不久,“揚威”也重傷起火,隨後擱淺,管帶林履中在船毀之後,蹈海成仁。日軍第一遊擊隊在打沉兩艦之後,騰出手來,調頭支援其本隊,並向我左翼展開攻擊。激戰中,我“來遠”“平遠”“廣丙”三艦相繼起火,“致遠”號也遭受重創,開始下沉。