1884年中法战争爆发,在发动中法战争时,法国已从普法战争失败所造成的窘境中摆脱出来,军事力量有所恢复.中法战争过程中,法国远征军的兵力最多时有两万余人。法国远征军司令部下辖两个旅和一个内河舰队。每旅辖三个步兵团和炮兵、骑兵、工兵、电信兵等部队。步兵、骑兵的轻武器主要是夏什普式中心发火击针后装线膛枪,口径十一毫米,射速为每分钟七发,射程一千八百米。此外,还有克罗帕契克连发枪和哈齐开斯机关炮等。野战炮兵每连有75mm火炮六门。法国远征军主要由三部分人组成:本国兵约占三分之一;雇佣兵(由欧洲其它国家招募)为数不多;附庸兵(阿尔及利亚和越南人)数量最大。这几种成分的军队待遇、装备、补给也不同。
陆路战场仍集中在中越边境地区和越南北部。早在1873年12月21日,黑旗军首领刘永福部将吴凤典就曾刀斩法王附马安邺,取得罗池大捷。1882年,法国茹弗里第二次组阁,增加军费550万法郎,派出援军侵越。但1883年黑旗軍换装了部分美国南北战争后对亚洲倾销的剩余武器,計有美制M1833\/1855后装线膛骑枪,溫彻斯特连发卡宾 枪,1847型的柯尔特??左轮 手枪??800余枝。因此在1883年5月19日越南境内爆发的纸桥之战中由法軍上尉代理营长李维叶(Cpt.Henri Laurent Riviere)率领的500名法軍和陆战队混编部队,遭到黑旗军绝对优势火力(至少1000枝各式枪械)从暗中埋伏的纵射,李威利所部270余人遭俘杀,李威利被黑旗军枭首。
1884年底,刘永福的黑旗军配合西线清军,围困占据宣光城的法军达3个月之久,城中法军几乎弹尽粮绝。但法国援兵到来,黑旗军失利。1885年2月,法国再次增兵越南,集中两个旅约万余人的兵力向谅山清军发动进攻,广西巡抚潘鼎新不战而退。2月13日,由于潘鼎新指挥失误,前线诸军难于支持后撤。潘鼎新惊慌失措,于二月十三日晚焚弃谅山、连夜奔逃,法军进犯文渊州,守将杨玉科力战阵亡。
法国侵略军攻陷镇南关,炸毁关门,并在关前废墟中插上一块木牌,用汉字写着“广西的门户已不再存在了”,中国军民在法军退走后在关前插上木桩,写上“我们将用法国人的头颅重建我们的门户!”
1884年4月清朝政府起用已经告老还乡的原广西提督冯子材,任命他为尚、雷、廉、琼四府团练督办。冯子材虽年老,却能以救国救民为己任,欣然受命,树旗招兵,在很短的时间内,便组建十八个营,约九千人军队,名为“萃军”。经筛选招募的萃军战士的民族意识很强;且大多数人刚猛力强,精通武艺。经过严格训练后成为一支能打硬仗的劲旅。由于潘鼎新的战败,清政府革去他广西巡抚职务,任命年近7旬的老将冯子材帮办广西军务,领导镇南关前线的抗法斗争。
根据当前敌情和镇南关周围的地形条件,冯子材经过反复勘察,选定关前隘(今隘口南)为预设战场。冯子材命令部队在关前隘筑起一道长1.5公里、高2米多、宽1米多的土石长墙,横跨东西两岭之间,墙外挖掘1米多深的堑壕,东西岭上修筑堡垒数座,从而形成一个较为完整的山地防御体系。
在兵力部署上,冯子材率所部9营扼守长墙及两侧山岭险要,担任正面防御;总兵王孝祺部8营屯冯军之后为第2梯队;湘军统领王德榜部10营屯关外东南的油隘,保障左翼安全并威胁敌之后路;冯子材另以所部5营屯扣波,保障右翼安全;广西提督苏元春部18营,屯关前隘之后2.5公里的幕府为后队;另有12营屯凭祥机动。总计前线兵力约60余营,3万余人。
清政府也即时提供军火,计有英国1871年式马梯尼后装枪,奥地利的曼利