1月25日,日军主将大山岩下令向威海卫攻击前进。1月29日,左纵队占领了威海卫东南20余里之温泉汤;右纵队占领了距南帮陆路炮台仅数里之遥的九家屯,开始对威海卫南帮炮台后路形成包围。
1月30日,日本陆军对南帮炮台发起总攻。敌右纵队担任主攻,分左右两翼。右翼队从正面佯攻,进行牵制;左翼队由步兵第十一旅团长陆军少将大寺安纯指挥。集中优势兵力,猛扑南帮陆路炮台。
威海卫登陆的日军是3万多人,而拥有百万陆军的中国当时在威海卫一带能够参战的部队却不足1万。
而且,这其中北洋舰队能够直接掌控的淮系巩绥军只有7000多人。其中,2000人左右直接负责刘公岛的守卫,分布在整个威海卫周边防御的淮系巩绥军不过5000人。威海卫南北帮炮台及日岛炮台共装备了100多门火炮,分摊到每个炮位不过区区50人。
战斗还没有开始,但似乎结局已不难预料。
黎明,日军首先进攻摩天岭。摩天岭是威海卫南岸制高点,其得失对整个战局关系重大。敌人投入了左翼队的大部队兵力拼死争夺。而守卫摩天岭炮台的清军仅一个营。
日军迅速对摩天岭发动了猛烈的进攻,但他们并没有遭遇到有力量的抵抗。清军在阵地前设置地雷,进攻的日兵误踩地雷,轰然爆炸,黑烟冲天,但对日军的伤害并不大。《日清战记纪实》描述了清军可悲的陆上防御:“突然前方有5个地雷一起爆炸,卷起黑烟,惊天动地,炸起的泥土犹如雨点般散落。然而敌军的地雷构造都属于旧式,虽然爆炸声音非常大,但只扬起了泥沙,所以仅有一名士兵手指受伤,其他人都无事。”
尽管这样,守卫摩天岭炮台的清军在营官周家恩指挥下,依然是奋力抵抗。双方展开了激烈的争夺战。
港内北洋舰队的定远、镇远、来远等军舰也驶至南岸边助战。日军乱放山炮,对摩天岭实施狂轰猛炸,并发起猛烈冲锋。
日军军官恼羞成怒,亲自挥刀,带头冲锋,并驱赶士兵继续猛扑。守军虽顽强抵抗,但兵力太少,一营人全部壮烈牺牲。
在战斗中,营官周家恩身中数弹,腿残仆地不起,肠子流出腹外。为了不被敌人俘虏,他以坚强毅力,忍痛爬行十数里,终因失血过多,壮烈殉国。
摩天岭也终被日军占领。敌人虽然占领了摩天岭,最终还是付出了重大的伤亡代价。就连敌左翼队司令官、步兵第十一旅团长大寺安纯少将,也被来远所发炮弹击毙于摩天岭炮台上。
日军攻占摩天岭后,立即以摩天岭炮台的大炮,掩护右翼队向杨枫岭进攻。
杨枫岭守军在副将陈万清指挥下,以一营的兵力抗击数倍于己的敌人。从上午8时至11时,激战3小时,打退了日军一次又一次的冲锋,予敌以重大杀伤。敌军冲锋失败,只好集中炮火向炮台猛轰。炮台周围树木全被炮弹击中起火,弹药库也被击中爆炸。炮台上烈焰升腾,守军伤亡大半,最后被迫撤离炮台。
在日军右纵队进攻南帮陆路炮台的时候,左纵队也向南帮陆路炮台南侧的虎山发起了猛烈进攻。企图一举攻克虎山后,向北推进,切断南帮炮台的清军退路,配合右纵队南北夹击,实现其包围和歼灭威海卫南岸清军的阴谋。
在这十分紧急的关头,丁汝昌亲自指挥靖远,率镇南、镇北、镇西、镇边等炮舰,驶至南岸杨家滩附近,用排炮向日军猛轰。日军不支,仓皇败走,被围清军趁势在陈万清率领下,向西突围。数十名士兵自愿留下掩护。突围中陈万清身受重伤,士兵死伤百余人。留下掩护的士兵,弹药用尽后,宁死不做俘虏,砸碎枪支,全部跳海殉国。
日本侵略军攻占南帮陆路炮台后,立即开始对龙庙嘴、鹿角嘴、皂埠嘴南帮3座海岸炮台进行海陆夹击。
防守南帮海岸炮台的是巩字军,由总兵刘超佩指挥。刘超佩是李鸿章的亲戚,依仗裙带关系,专横跋扈,作威作福,对士兵滥施刑罚。但在敌人面前却是一个贪生怕死的懦夫。30日晨,刘超佩一听到敌军进攻南帮陆路炮台的炮声,就吓得惊慌失措,赶忙乘坐早已准备好的汽艇跑到刘公岛上一个贩卖鸦片的同乡家里躲藏起来。后来觉得刘公岛也不保险,又离岛上岸,向烟台逃命而去。