早在出发前,日军参谋部便对登陆后的进军计划进行了仔细的分析。
日军在研究后发现,从荣成到威海卫有两条路,一条是南路,经桥头、温泉汤、虎山等地可直至威海卫,也称芝罘大道(通往烟台);另一条是北路,经北港西、鲍家村、崮山后等处,可达威海南帮炮台并经后路至威海卫,又称威海大道。
就道路情况而言,南路状况较好而北路难行,于是第二军参谋官会议建议分左右两路进兵威海卫:第二师团由南路行进,人数较少的第六师团则由北路行进,至目的地后会合。日本司令官大山岩研究后,采纳了参谋官会议的建议,将第二军分为左右两个纵队:
第六师团为右路纵队,由陆军中将黑木为桢指挥,辖步兵第十一旅团(旅团长陆军少将大寺安纯),经北路进逼威海南帮炮台,担任主攻任务;第二师团为左路纵队,由陆军中将佐久间左马太指挥,辖步兵第三旅团(旅团长陆军少将山口素臣)和第四旅团(旅团长陆军少将伏见贞爱亲王),任务是绕至威海南帮炮台西侧,切断守军退路,并与右路纵队形成夹击之势。
随后,日本第二军按计划兵分两路,向北进犯。就在敌人大军压境的时候,清军却调度不灵,未能及时集中兵力,组成一支有力的反击力量。
清军在登州以东的兵力,有45营22000多人(不包括李鸿章管辖下的威海绥军、巩军和护军)。如果调遣得当的话,还是可以和日军拼一下,至少也能阻挡和延迟日军的行进,为本省他处和外省陆军的增援赢得时间。
遗憾的是,由于信息不灵、调度失当,李秉衡在得知日军在荣成湾登陆的消息后,仅派遣了驻酒馆的嵩武军分统、记名提督孙万龄率嵩武左营和游击谭邻都的福字三队,加上总兵李楹的福字军三营前往会合戴宗骞的人马,进行堵截。这和日军原先估计的兵力大相径庭(日军本以为清军至少会集中上万人的兵力进行堵截)。
孙万龄倒是个会打仗的人,他出身行伍,为人豪迈,身材不高却很结实,人送绰号“孙滚子”。孙万龄经过多年摸爬滚打的军旅生涯,累积战功而做到当前的位置。他接到命令后,便率领嵩武军左营及福字三队(兵力约1200人)东行后过羊亭集,正好和从荣成西退的阎得胜等营相遇,于是阎得胜等5营兵力便归了孙万龄管辖。这时,戴宗骞也应李秉衡之约,派分统刘树德率绥军两营赶到羊亭集,三军会师后继续向东进发。
1月22日,孙万龄带军开到桥头北面的五尚地村时,前哨探得有小股日军向西窜扰。于是,孙万龄便召集阎得胜和刘树德开会,准备在白马河一带对日军进行阻击。经商议,3路人马作了以下分工:孙万龄率嵩武左营及福字三队,至白马河西岸埋伏,担任主攻;阎得胜率军从旁截击,包抄敌军;刘树德率军仍驻守五尚地附近,以备接应。
随后,孙万龄率军进驻白马村,抓紧在白马河西岸修筑工事,并派出探骑侦察日军敌情;阎得胜移军桥头集,相机出动;刘树德则连日修建了两座临时炮台,各设行营炮两门。
1月24日,日军的一个骑兵小队来到白马河东岸侦察,被孙万龄的探骑伏击,一名日军骑兵在战斗中当场被击毙。当天傍晚,日军派出一个步兵大队和一个中队,打算进占白马河东岸各村。日军开始以为清军人少,但他们刚进入白马河东岸的姚家圈村时,立刻发现情况不对了。
趁日军立脚未稳之际,孙万龄当机立断,命早已做好准备的嵩武左营及福字三队立即攻击。由于清军熟悉地形,在夜幕即将降临的时候占据优势,双方刚一接战,一名日军小队长便被击毙,吓得剩余的日军慌忙后撤。由于夜色降临,日军不甘心就此撤退,便高举携带的行军探照灯,用以照射进攻清军。但这愚蠢的办法,使得清军士兵巧妙地利用日军的灯光不断瞄准射击,结果激战1小时后,日军反被击毙十多人,而孙万龄这边只有一名哨官受伤和一名马夫中枪身亡。
日军见进攻无效,只得悻悻然地向东撤退,而孙万龄部也不再恋战,向羊亭集附近转移。这次的白马河之战,还只是双方的一次前哨战,更激烈的战斗还在后面。所谓“如芒在背,欲去之而后快”,事实很明显,日军的目标并不是清朝的防军,而是威海港内的北洋舰队,那才是他们的心腹大患!