1885年3月23日,法军统帅尼格里率法军二千余人分三路大举进犯而来。西路法军从文渊(今同登)出发经弄尧和弄怀沿偏道入龙门关,东路法军从谅山出发直扑小青山,中路法军主力则沿关道而入,直接进抵镇南关的关前隘长墙下。 严阵以待的清军,在冯子材的指挥下投入战斗。首日激战,双方相持不下。
3月24日凌晨,大雾弥漫,法军倾巢而出,配备三个炮队向镇南关发起猛烈攻击,一时间枪弹横飞,长墙欲破,炮声震彻山谷。眼见法军火器凶猛,情势危急之下,冯子材急令守军打开栅门,亲自提刀上阵,率领两个儿子及各部官兵猛烈冲杀,以肉搏战全面杀退有枪有炮的骄横法军。
3月25日,士气高涨的守军及民兵在冯子材号令下发起总攻,凭借冷兵器追击溃败法军至关外一二十公里,大获全胜,迫使法军丢盔弃甲撤回到谅山以南,法军统帅尼格里也身受重伤。