清政府鉴于抗法前线的连连失利,调派68岁的老将冯子材到广西帮办军务。
冯子材到达广西后,对各部将士晓以大义,使之团结一心,一致对外。又将数万军队分布在前线的各个重要关卡中。
1885年3月,法军企图采取迂回战术击败清军。冯子材得到这个消息后主动出击,打乱了法军的作战部署,逼迫法军对清军的防御阵地发起攻击。23日,法军对镇南关发起猛攻,冯子材拼死抵抗,到了下午,清军各路援军及时赶到,对法军进行了三面包围。法军虽然殊死作战,但弹尽粮绝,被清军打死三百余人,不得不下令退出战斗。紧接着,冯子材又乘胜追击,连克文渊、谅山等地,先后击毙法军近千人。
镇南关大捷使得法国内阁总理因此引咎辞职,鼓舞了中国西南的抗法热情。而指挥这场大战胜利的冯子材,也不愧为镇南关大捷的抗法名将。