清军在第四次反攻海城失败之后,并未放弃,仍试图发动第五次进攻。此时,清军的指挥部阵容堪称庞大,吴大澂带领的湘军驻扎海城西北,控制着通往牛庄的大道;依克唐阿的军队位于海城正北,扼守着通向辽阳的要道;而长顺的部队则分布在海城东北,控制着通往辽阳的另一条关键道路。总共有百余营兵力,六万余人,其中宋庆的军队已经增至三十营,阵容相当强大。
然而,日军为了扭转战局,决定趁着冰冻未解,迅速发动攻势。盖平、海城和凤凰城成为主要的进攻方向:一支军队从盖平出发,北上直逼营口;另一支军队从凤凰城出发,途经黄花甸和三家子,进攻鞍山站;还有一支则从海城北上,攻打依克唐阿和长顺的部队,最终目标是鞍山站以南。鞍山站连接着牛庄和辽阳,是战略上的重要节点。日军的目标显然不止是辽阳,而是先夺取牛庄,以此削弱清军的西翼防线,进而制约湘军的进攻。如果牛庄失守,海城西面的湘军必将因退路被切断而无法继续支援海城。2月28日凌晨,日军第三师团悍然发动攻击,未等清军发起第五次反攻,便分路出击。激烈的战斗持续了约三小时,结果依军败退,局势急转直下。 与此同时,辽阳南九十里外的吉洞峪被出自凤凰城的日军第五师团占领,辽阳顿时震动,局势更为严峻。辽阳知州徐庆璋慌忙请求援助,依克唐阿见局势不妙,借口援辽,率领部队北上,长顺军也随之而去。日军紧随其后,迅速占领了鞍山站,并且第五师团也顺利会师。日军的第三和第五师团合力进攻,目标直指牛庄。3月2日和4日,魏光焘、李光久率领部队前来支援牛庄,但两支湘军的十一营兵力最终陷入困境,被日军三路围攻。面对敌人猛烈的进攻,李光久等指挥官选择放弃抵抗,带领军队逃离战场。残余的清军与日军展开殊死搏斗,战斗持续整整一天,最终清军伤亡惨重,近两千人阵亡,六百余人被俘。日军的伤亡同样不小,死伤近四百人,其中包括今田唯一等多名将佐军官。 这是中日甲午战争中唯一的一次大规模巷战。尽管清军英勇作战,表现出了中国人民誓死捍卫家园、不畏强敌的牺牲精神,但终究无法抵挡日军的凌厉攻势。牛庄失守后,吴大澂指挥的部队由田庄台撤退至双台子,而宋庆则带领主力部队连夜退扎田庄台,只有少数兵力留守营口。3月7日,日军轻松占领了营口,并与来自盖平的部队会师。田庄台地势平坦,辽河尚未解冻,缺乏天然屏障,清军根本无法在这里进行有效防守。3月9日,日军的第一、第三和第五师团联合进攻,宋庆军在不利的地形和战局下大败,伤亡惨重。被围困在田庄台的清军,最终在日军的纵火攻击下被彻底摧毁,二千余人丧命,整个田庄台也被日军占领。田庄台陷落后,宋庆和吴大澂等清军残部退至石山站(锦州东)。至此,辽河以东、鞍山站以西的大片区域,几乎全部落入日军之手。 清朝朝廷此时已是四面楚歌,淮军和湘军接连败北,北洋海军也已覆没,日军凭借海陆优势,迅速逼近京城,形势愈加危急。清廷不得不低头请求和谈,屈辱求和的心态愈加迫切。日本方面则认为,第一阶段的作战已取得成功,决定进驻战地,开始第二阶段的进攻。