新得到的智利战舰已基本形成战斗力的日本,也决定通过联合舰队寻求与清军北洋舰队决战,以完全取得整个中日作战海域的制海权,也可同时切断清军前往朝鲜的海上运输线。这时由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多人。不久,“靖远”、“来远”抢修完毕,重新投入战斗。“靖远”帮带大副刘冠雄见“定远”号旗桅杆断裂,不能升旗指挥,建议管带叶祖珪代悬信旗集队,指挥各舰绕击日舰。