1894年7月25日,中日甲午战争爆发,山东半岛局势骤然紧张。到12月下旬,山东中部形势愈加危急:日舰在山东海面上活动日益频繁,并驶入荣成湾,派人上岸侦察情况。次年1月20日,约34600名日军从荣成附近海滩登陆,矛头直指荣成。清朝山东巡抚李秉衡急令其部下将领孙万龄部率军驻守威海所属荣成,策应先行抗日部队。
孙万龄(1843-1905)字寿卿,祖籍安徽利辛县孙集孙小寨,出身寒微,曾以卖烙馍谋生。自幼习学武艺,身矮而力大,故绰号“孙滚子”.刚到入伍年龄,他就踊跃报名参军。可是因为个子矮小,三次报名皆未被录取。清同治初年,终于到山东德州投入行伍。因其作战勇敢,很快提升为外委(清代编外低级军官),不久升为统领。此后数年之间,他就由外委、统领升任总兵,加提督衔。
由于当时军情万分危急,孙万龄接令后即率军冒雪东进。由于李秉衡怕被日军切断后路,留下大部分军队镇守后方。因而当时孙万龄手下只有一千二百余人,而且多半都是在甲午战争爆发后临时招募的。不仅没有经过正规训练,而且武器装备极差:多是火枪土炮,甚至大刀长矛。但军队的士气非常旺盛,人人都想与日寇决一死战!大军行进途中,在羊亭集地界(山东威海市西南)遇到从荣成溃退而来的清军将领阎得胜残部。面对溃不成军的清兵,孙万龄骑在马上朝天鸣枪示警并晓之以理、动之以情:阐明国安则家在,国破则家亡的利害关系。在他的鼓舞下,许多败军官兵纷纷穿好衣甲,竖起军旗,随着孙万龄重新向前线进发。
自此,阎得胜等五营河防军,便隶属于孙万龄。此时,威海陆军主将戴宗骞也应李秉衡之约,派遣其属下绥军将领刘树德率绥军两营人马赴羊亭集前来助战。会师后三股清军兵合一处共计三千多人,由孙万龄统一指挥。各军继续向东进发。一路上,大雪纷飞,路滑难行,然而军队士气旺盛。沿途各村百姓积极支持清军抗敌,男女老少纷纷涌上街头,争先恐后地帮助军队拉炮和运送粮草。
1月22日,孙万龄等军开到白马河北面的五尚地村时,探悉连日有小股日军向西窜扰。孙万龄一面封锁消息,一面召开军事会议共同商定分工意见:孙万龄率嵩武左营及福字三队,至白马河西岸埋伏,阻敌西犯,阎得胜率精健等五营从旁截击,并包抄敌军,刘树德军仍驻守五尚地附近,以备接应。随后,孙万龄即进驻白马村,在白马河西岸修筑工事,并派探骑侦察前路敌情,阎得胜移军桥头集,伺机出动;刘树德则连日修建临时炮台两座,一在桥头北山,一在孟京庄北的兴隆山,各设行营炮两门。
1月24日这天是除夕。日军进入东豆山村,其骑兵深入到白马河东岸的观里村,在村西遭到孙军探骑伏击。当天傍晚,日军探知清军兵力不多,便派出一个步兵大队和一个中队,拟进占白马河东岸各村。日军刚进入白马河东岸的姚家圈村,清军已做好准备。孙万龄趁敌人立足未稳,立即下令发起猛攻。
此时夜幕笼罩,一片漆黑,无法瞄准射击。日军对地形不熟,又找不到向导。只好打着探照灯照射进攻目标。孙万龄手下多是刚招募来的新兵,一时慌了神,纷纷大叫:“不好,倭兵厉害! ”
孙万龄纵身而起,朗声鼓舞士气:“弟兄们,洋鬼子不可怕,利用倭兵的灯光,打他个措手不及! ”
在孙万龄的指挥和工事掩护下,清军士兵沉着应战,巧妙地利用日寇的行军探照灯光,开枪连续射击。枪声响处,日军一个个应声倒地。与此同时,一发发炮弹准确地在日军中连续爆炸。激烈的阻击战进行了近两个小时,约毙敌军官一名、士兵十余人,而清军仅一名哨官受伤,一名马夫中枪牺牲。日军失利后,便向东撤退。可惜的是阎、刘两军并未给予有力的配合:阎得胜听到枪声后,不但不按预定计划包抄敌人,反不战而退。刘树德军装备较好,且配有四门行营炮,应该是清军的主力,却也先是按兵不动,继而借口“上司有令调回” ,弃孙军而西撤。孙万龄部成为孤军,不得已撤出阵地,向羊亭集附近转移。因而未能全歼日军,获得更大的战果。
白马河之战是一次前哨战,在这次战斗中清军获得了“小胜”.此次战役是甲午战争中清军陆军将领以少胜多的首例:战胜了三倍于自己以上的敌军!日军第一次受到如此重大打击,入侵的嚣张气焰锐减。在初战获胜扬我国威的形势下,虽然未能从根本上扭转败局,但却初步稳定了清军在朝鲜战场和中国境内连战连败、几乎全线崩溃的混乱局面,起到了振奋军心、鼓舞士气的主要作用。时任清政府直隶总督兼北洋通商大臣的李鸿章闻报后,认为 “初战获胜,稍壮士气”.李秉衡在致湖广总督张之洞的电文中亦称:“兵固单,尤苦死将,前敌敢战之将,仅一孙万龄。 ”