公元1884年,法军已经控制了柬埔寨、老挝,兵锋直驱越南,当时的越南是大清国的藩属国,“小弟有难,大哥自然不能坐视不管“。于是,慈禧派遣淮军悍将潘鼎新为前敌总指挥,刘永福为先锋大将,赴越南参战。刘永福连挫法军,奈何法军势大,且清军后援不济,加之“马尾海战”福建水师全军覆没的消息传到越南,清军士气跌入低谷,最终潘鼎新临阵退缩,导致清军崩溃,法军顺利控制越南全境,加上柬埔寨、老挝,法国组成了“印支联邦”,虎视中国西南边境。尤其是,法军趁清军后撤混乱之际,攻占了中越边境的重镇镇南关(今天称之为友谊关),整个广西门户洞开,形势异常危急。消息传到大清国的首都北京,大清国的实际统治者慈禧慌了手脚,很快,慈禧下令将潘鼎新撤职法办,并启用老将冯子材为广西提督,节制广西境内的所有清军,并寻机收复镇南关。
冯子材,1818年出生于广东廉州府钦州沙尾村(今属广西钦州沙尾村)人,原为反清复明组织“天地会”的骨干成员,后经招抚,成为清军的一员悍将,在绞杀太平天国运动中,为大清国立下赫赫战功,曾配合湘军第一悍将曾国荃(湘军创始人曾国藩的弟弟)攻陷太平天国的首都天京(南京)。是典型的从一个小兵奋斗的高级将领的案例,冯子材因为出身低微,格外关心士卒,连发军饷都是自己亲自动手,避免下面的将官从中克扣贪污,底下的士兵勇于为其卖命。
冯子材一到广西前线就调整了之前潘鼎新的部署,并大刀阔斧整训军纪,处死了一大批临阵脱逃的将卒,清军之前邋遢散漫的军纪为之一振。同时,大力提拔作战勇猛的将校,尤其是重用刘永福,为刘永福所部换装了许多新式军械,把好钢用在刀刃上,试图以刘永福所部打造为“突击力量”,以期未来的作战中发挥重要的作用。
就在冯子材积极备战准备收复镇南关的同时,法军开始先发制人了,法军试图趁冯子材初来乍到、立足未稳之际,打垮冯子材所部清军,进而攻占广西全境。因为之前潘鼎新的临阵退缩导致法军极度轻视清军,在进军途中连适当的警卫也没有,冯子材正好利用法军这一心态,在镇南关30里外设伏,果然,法军一头就扎进了冯子材预先设置好的“口袋阵”。等法军全部进入埋伏圈后,冯子材指挥清军奋力掩杀,刘永福所部率先突入法军阵地,将法军的阵型大乱,双发绞杀在一起,使得法军的重炮无法有效轰击,最终冯子材发起总攻,重创法军。
法军战败的消息传到镇南关,镇南关的法军留守部队为避免被清军全歼,不得不放弃镇南关退入越南境内。冯子材顺利收复镇南关,之后,趁法军溃败之际,迅速发动追击,一路打到谅山,兵锋直至河内。就在法军惶惶不可终日的时候,慈禧却下达了“停止进攻,原地固守”的命令,以至于错失了将法军赶出越南的最佳时机。
当法军在镇南关战役失利的消息传至巴黎后,法国议会以306对149票否决军费追加案,总理儒尔·费里旋引咎辞职,由儒尔·费里领衔的内阁倒台。此役,沉重打击了法国人的嚣张气焰,摧毁了法国图谋两广的阴谋。也是自1840年鸦片战争以来,大清国对外战争最大的胜利,此后,列强重新改变了对这个东方巨人的认识。