1894年9月15日清日在朝鲜平壤发生了首次大规模陆上战争。当时驻守平壤的清军共三十五营,一万七千人;进攻平壤的日军有一万六千多人,双方兵力旗鼓相当。
战斗在三个战场同时展开:其一为大同江南岸战场。晨三时,日军第九混成旅团在大岛义昌少将的指挥下,首先向大同江南岸清军发起进攻。太原镇总兵马玉崐督队英勇抗击,日军官兵死伤惨重,无力再战,大岛义昌负伤,只得下令退却,午后二时全部撤离战场。
其二为玄武门外战场。玄武门为日军的主攻方向,因此集中了优势兵力,由立见尚文少将的第十旅团(又称朔宁支队)和佐藤正大佐的第十八联队(又称元山支队)担任主攻。高州镇总兵左宝贵登玄武门指挥,亲燃大炮轰敌,官兵感奋,英勇杀敌。激战中,左宝贵不幸中炮牺牲,其部下三位营官也先后阵亡,午后二时玄武门遂被日军攻陷。日军企图向城内推进,遭到清军阻击,只得退守玄武门。
其三为城西南战场。晨七时,野津道贯中将亲率日本第五师团本队,从平壤西南用炮火掩护步兵冲锋,清军马队进行反击。至中午,野津道贯见难以得手,下令暂停攻击,退回驻地。此时对清军来说,战事尚有可为,但清军总统(总指挥)叶志超贪生怕死,于午后四时树白旗停止抵抗,并下令全军撤退。六天里,清军狂奔五百里,于21日渡鸭绿江回国。
清政府此时并不清楚朝鲜战场上的实际战况,只是从叶志超的军报中得到一些不真实的信息,在陆上战争失败的第二天,李鸿章命北洋海军提督丁汝昌带领北洋舰队主力护送大约4000人的陆军前往鸭绿江口的大东沟附近海岸登陆,护送的路途倒是未出现任何意外。
在出发之前李鸿章就考虑到会有可能再度碰上日本的联合舰队,犹其是在日海军实力大增的情况下,故就吸取了上次丰岛海战的教训,索性一次把整个北洋舰队的主力都给派了出来,就连当初水师会操时留下来的广东水师木壳巡洋舰“广甲号”也不例外,从这点上来说对日本人的行动他也并不是没有任何察觉,就像这次护送陆军的行动,在出发之前就有收到日本人可能已经获悉了这次计划,护送的北洋舰队也许会有一定的危险。
但是作为北洋大臣的李鸿章此时内心里也是极为矛盾的,一方面他并不想真的同日本正面对战,另一方面他也没有把握北洋舰队真的能战胜日本海军,这些年舰队状况如何他心里也并不是没数,想再增加北洋舰队的实力无疑是不可能的,唯一想到的办法就是调广东、福建两水师主力加入北洋,可是这已经被证明是行不通的事情,光绪就曾下令南洋海军,调四艘军舰到北方,加强北洋海军的实力。结果,刘坤一也好、张之洞也好,都不同意,说我们这帮人不行,到那去,也就充当炮灰而已,因此拒不奉行光绪的旨意。
其实这时的南洋海军是清国仅次于北洋舰队的水师舰队,共拥有巡洋舰6艘,战力虽不是特别强大,却也不是可有可无的那种。如调往北洋的确会给北洋舰队的整休实力带来一定的增强,可惜南洋大臣因在与政见和李鸿章不合以及自保的前提下,拒绝了光绪的调舰旨意。无奈之下,李鸿章就只好下令北洋舰队主力单独面对日本,却又严令海军提督丁汝昌如中途遇到日本海军,应尽量避免同日交战,只要以威吓的模式阻退对方即可,可笑的是这道命令根本不适用在战争中的北洋舰队身上。一味的消极避战最终还是造成了恶果让整个国家来承受。
而事实上,李鸿章这前得到的情报虽然并不完整但却实是一份真实的情报,就在北洋海军离开威海卫军港前往大连湾会合四艘运兵船的第二天,日本海军联合舰队就收到了日本侵朝陆军发来电报,告知平壤之战中从大同江清军一艘船中搜到一封信。此信是平壤守将写给清军铭军统领刘盛休的,日军由此获悉,大孤山、大小鹿岛(鸭绿江口西南大东沟附近)可能会有大量中国jūn_duì登陆。几乎与此同时,日本驻朝鲜公使大鸟圭介也发报指出,中国jūn_duì要取道海路运兵,从大鹿岛一带登陆。
北洋海军根本不知道已经泄露了出航的情报,还在按照原定计划在进行着陆军的运输和护航,于是就发生了这样的状况,中国军舰还没出航,日本海军已经决定派遣舰队前往大东沟出战。
在中朝界河鸭绿江入海口处,一个大型冲积岛屿将入海口分为东西两侧。西侧入海口虽然比东侧狭窄得多,河道却比较畅通,甚至还在中国一侧形成了一个小型避风港——大东港,即今天丹东港,这个出海口就被称为大东沟。
16日上午北洋舰队就到达了预定地点实施陆军上岸,却由于选定的地点为朝鲜的大东港,而大东港毕竟是浅水港,运兵船只能在外海依靠小船将人员物资卸载后转运登岸。北洋大臣李鸿章虽然对此早有叮嘱,但边境中国官员竟相互掣肘,导致派遣的民船严重不足,物资、人员登岸极为缓慢。
丁汝昌见此情影就将北洋海军主力舰队停泊在大东沟西南12海里左右的小鹿岛附近以保护登陆舰的退路。而在大东沟口,由“平远”和“广丙”两舰直接护卫着登陆船队登陆。