1894年9月15日清日在朝鲜平壤发生了首次大规模陆上战争。当时驻守平壤的清军共三十五营,一万七千人;进攻平壤的日军有一万六千多人,双方兵力旗鼓相当。
战斗在三个战场同时展开:其一为大同江南岸战场。晨三时,日军第九混成旅团在大岛义昌少将的指挥下,首先向大同江南岸清军发起进攻。太原镇总兵马玉崐督队英勇抗击,日军官兵死伤惨重,无力再战,大岛义昌负伤,只得下令退却,午后二时全部撤离战场。
其二为玄武门外战场。玄武门为日军的主攻方向,因此集中了优势兵力,由立见尚文少将的第十旅团(又称朔宁支队)和佐藤正大佐的第十八联队(又称元山支队)担任主攻。高州镇总兵左宝贵登玄武门指挥,亲燃大炮轰敌,官兵感奋,英勇杀敌。激战中,左宝贵不幸中炮牺牲,其部下三位营官也先后阵亡,午后二时玄武门遂被日军攻陷。日军企图向城内推进,遭到清军阻击,只得退守玄武门。
其三为城西南战场。晨七时,野津道贯中将亲率日本第五师团本队,从平壤西南用炮火掩护步兵冲锋,清军马队进行反击。至中午,野津道贯见难以得手,下令暂停攻击,退回驻地。此时对清军来说,战事尚有可为,但清军总统(总指挥)叶志超贪生怕死,于午后四时树白旗停止抵抗,并下令全军撤退。六天里,清军狂奔五百里,于21日渡鸭绿江回国。
清政府此时并不清楚朝鲜战场上的实际战况,只是从叶志超的军报中得到一些不真实的信息,在陆上战争失败的第二天,李鸿章命北洋海军提督丁汝昌带领北洋舰队主力护送大约4000人的陆军前往鸭绿江口的大东沟附近海岸登陆,护送的路途倒是未出现任何意外。
在出发之前李鸿章就考虑到会有可能再度碰上日本的联合舰队,犹其是在日海军实力大增的情况下,故就吸取了上次丰岛海战的教训,索性一次把整个北洋舰队的主力都给派了出来,就连当初水师会操时留下来的广东水师木壳巡洋舰“广甲号”也不例外,从这点上来说对日本人的行动他也并不是没有任何察觉,就像这次护送陆军的行动,在出发之前就有收到日本人可能已经获悉了这次计划,护送的北洋舰队也许会有一定的危险。
但是作为北洋大臣的李鸿章此时内心里也是极为矛盾的,一方面他并不想真的同日本正面对战,另一方面他也没有把握北洋舰队真的能战胜日本海军,这些年舰队状况如何他心里也并不是没数,想再增加北洋舰队的实力无疑是不可能的,唯一想到的办法就是调广东、福建两水师主力加入北洋,可是这已经被证明是行不通的事情,光绪就曾下令南洋海军,调四艘军舰到北方,加强北洋海军的实力。结果,刘坤一也好、张之洞也好,都不同意,说我们这帮人不行,到那去,也就充当炮灰而已,因此拒不奉行光绪的旨意。
其实这时的南洋海军是清国仅次于北洋舰队的水师舰队,共拥有巡洋舰6艘,战力虽不是特别强大,却也不是可有可无的那种。如调往北洋的确会给北洋舰队的整休实力带来一定的增强,可惜南洋大臣因在与政见和李鸿章不合以及自保的前提下,拒绝了光绪的调舰旨意。无奈之下,李鸿章就只好下令北洋舰队主力单独面对日本,却又严令海军提督丁汝昌如中途遇到日本海军,应尽量避免同日交战,只要以威吓的模式阻退对方即可,可笑的是这道命令根本不适用在战争中的北洋舰队身上。一味的消极避战最终还是造成了恶果让整个国家来承受。
而事实上,李鸿章这前得到的情报虽然并不完整但却实是一份真实的情报,就在北洋海军离开威海卫军港前往大连湾会合四艘运兵船的第二天,日本海军联合舰队就收到了日本侵朝陆军发来电报,告知平壤之战中从大同江清军一艘船中搜到一封信。此信是平壤守将写给清军铭军统领刘盛休的,日军由此获悉,大孤山、大小鹿岛(鸭绿江口西南大东沟附近)可能会有大量中队登陆。几乎与此同时,日本驻朝鲜公使大鸟圭介也发报指出,中队要取道海路运兵,从大鹿岛一带登陆。
北洋海军根本不知道已经泄露了出航的情报,还在按照原定计划在进行着陆军的运输和护航,于是就发生了这样的状况,中舰还没出航,日本海军已经决定派遣舰队前往大东沟出战。
在中朝界河鸭绿江入海口处,一个大型冲积岛屿将入海口分为东西两侧。西侧入海口虽然比东侧狭窄得多,河道却比较畅通,甚至还在中国一侧形成了一个小型避风港——大东港,即今天丹东港,这个出海口就被称为大东沟。
16日上午北洋舰队就到达了预定地点实施陆军上岸,却由于选定的地点为朝鲜的大东港,而大东港毕竟是浅水港,运兵船只能在外海依靠小船将人员物资卸载后转运登岸。北洋大臣李鸿章虽然对此早有叮嘱,但边境中国官员竟相互掣肘,导致派遣的民船严重不足,物资、人员登岸极为缓慢。
丁汝昌见此情影就将北洋海军主力舰队停泊在大东沟西南12海里左右的小鹿岛附近以保护登陆舰的退路。而在大东沟口,由“平远”和“广丙”两舰直接护卫着登陆船队登陆。
新得到的智利战舰已基本形成战斗力的日本,也决定通过联合舰队寻求与清军北洋舰队决战,以完全取得整个中日作战海域的制海权,也可同时切断清军前往朝鲜的海上运输线。这时由18艘日军舰艇组成联合舰队从朝鲜大同江口驶出,前往清军登陆地点所在的大东沟海域,目标,正是中国海军的运输船队和护航舰艇。
而此时大东沟外海,丁汝昌虽然率领着北洋舰队几乎全部主力,但他担忧的正是日军主力一旦前来攻击登陆舰艇,北洋海军将不得不与日军决战,这也就违背了上司李鸿章的初衷。更糟糕的是,无论登陆的清军陆军还是丁汝昌都不知道,就在9月16日登陆这天,他们试图前往增援的平壤其实已经失守。在朝鲜北部的大雨中,由叶志超带领的中国陆军已经一溃千里,这次增援将变得好无意义。
由于运输的缓慢直到第二天也就是17日的上午11点钟左右才把所有的陆军送上岸,丁汝昌就命令北洋舰队稍仕休整后就返航回国。这时远方正在行进中的日本联合舰队,做为第一游击队旗舰的吉野号(由智利新锐巡洋舰改名)上的瞭望手通过望远镜已经都够发现北洋舰队上方的烟柱,就上报给了舰长,又由舰长上报给后方的舰队旗舰松岛号,由于北洋舰队使用的都是唐山开平煤矿产的劣质煤,造成使用时的冒出的烟雾既浓又黑,与英法俄等舰使用的大不一样,日军联合舰队司令官伊东估亨立时就认出这出现就是清军北洋舰队,就下令各舰士兵提前吃午餐,吃过饭后就马上备战。
11时40分日军舰上水兵已经能通过肉眼看到北洋舰队的舰体了,而到此时北洋舰队的士兵才发现了日本舰队,但由于此时日舰悬挂的是美国旗帜,得到报告说发现远方有一支美国舰队在向我方驶来的海军提督丁汝昌只是下令让大家戒备,舰队正常驶离大东沟海域即可。
12时05分,出现在北洋舰队面前的舰队突然降下了一直挂着的美国旗改为了日本的膏药旗,整个舰队呈纵形排列知道受骗了的丁汝昌急忙下令各舰组成雁形阵(横阵)迎敌,随旗舰运动,“定远”和镇远居中,其余舰只分列左右,出身陆军并没有多少海战知识和指挥经验的丁汝昌却忘记了北洋舰队10艘战舰中航速差距甚大,造成整个北洋舰队的队形不是一条都由船首对敌的横线,而是“定远”、“镇远”靠前,左右8般舰只在后且也是有前有后并未在一条直线上。
12时40分,双方在大鹿岛(大洋河口外)西南3海里处开始交火,北洋舰队旗舰“定远”上的305毫米主炮率先开火,此时与日本联合舰队相距约6000米,由于日本联合舰队上大都装备的为速射炮,射速较快,射程却较短。舰队司令伊东佑亨命令要到3000米左右的距离才可开炮,所以在前面的这3000米的距离中都是北洋舰队单方面的射击。
12时55分联合舰队旗舰“松岛号”上的320毫米主炮被一发150毫米舰炮击中,造成三人死亡两人受伤,特意为对付清北洋舰队而建造的320毫米炮也由于被命中而只能朝前射击不能较向。
只管前冲的日本舰队很快就冲近了3000米左右的距离上,随着伊东佑亨的一声令下,各舰的各种口径的主炮速射炮都成群成群的飞向北洋舰队。
下午13时10分做为前锋的日本第一游击舰队猛攻扬威”、“超勇”,二舰相继被击中起火,退出战斗。日舰“吉野”也被北洋舰队击中起火,但很快被扑灭。
13时30分左右,“超勇”沉没。这是此次海战双方第一艘战沉的舰只。在日本第一游击舰队进攻北洋舰队右翼之时,日本海军本队也在与北洋舰队主力战斗。
13时48分日舰“武藏”、“赤城”被北洋舰队截击。“定远”、“来远”、“经远”重创“武藏”、“赤城”。“赤城”舰长坂元八郎太当场毙命。“西京丸”也受重伤。但是,日本舰队利用其航速快、便于机动的优点,第一游击队和本队互相配合,至14时15分左右,本队已绕至北洋舰队背后,与第一游击队形成夹击之势。北洋舰队腹背受敌,队形更加混乱。在混战中,“致远”舰多处受伤,船身倾斜。伊东祐亨令第一游击队救援“赤城”、“武藏”。“吉野”冲在最前面,正遇上“致远”。
管带邓世昌见“吉野”十分猖狂,毅然下令开足马力,准备用冲角撞击“吉野”,以求与敌同归于尽,不幸被鱼雷击中,16时20分“致远”舰沉没,邓世昌等250名官兵壮烈牺牲。“经远”继续迎战“吉野”,也中弹起火,管带林永升、大副陈策阵亡,16时40分“经远”舰也被击沉,250余名官兵殉难。“致远”沉没后,“济远”管带方伯谦、“广甲”管带吴敬荣,贪生怕死,临阵脱逃。“靖远”、“来远”因中弹过多,退出战斗,避至大鹿岛附近紧急修补损坏的机器。在“致远”、“经远”等舰同第一游击队激战的同时,“定远”、“镇远”两舰正顽强抵抗着日舰本队的围攻,虽中弹甚多,几次起火,全体官兵仍然坚持奋战,重创敌旗舰“松岛”,打死打伤炮台指挥官海军大尉志摩清直以下100多人。不久,“靖远”、“来远”抢修完毕,重新投入战斗。“靖远”帮带大副刘冠雄见“定远”号旗桅杆断裂,不能升旗指挥,建议管带叶祖珪代悬信旗集队,指挥各舰绕击日舰。