东北战役后,越军总军委拟制了新的战役计划,决心将作战重点转移到红河三角洲南线去,实施宁平战役。那里是越南的第3联区。对即将在宁平展开的战役,越方称之为“光中战役”。
根据在雨季到来之前再打一次大仗的预定方针,武元甲的战役预期是,在法军不断获得美国援助,装备条件明显改善之前,伺机寻歼法军有生力量。
越军总军委和中国顾问商议后认为,兵锋指向南线的有利之处,一是可以调动法军,因为东北之战已将法军一部分机动兵力调到了北线。二是向宁平地区机动兵力便于隐蔽。在南线的红河三角洲边缘,有一条带江东流入海,越法两军隔江对峙。江东是人口稠密的平原产粮区,由法军控制。带江西岸是广阔的喀斯特熔岩地貌地区,在突兀而起的石灰岩山峰中遍布大小溶洞,可以藏兵。山间林木和灌木茂密,便于防空,极易大部队隐蔽行军。那个地区的河道大都很浅,估计法军江河舰队的驱逐舰开不进来。第三个有利情况是,带江两岸正是第320师的根据地,这次战役可以使用该师的两个主力团(第42和第64独立团),他们人地皆熟,有利于寻找战机。
宁平战役的目的比较有限。越军总部计划,主要使用第308、第304和第320师,以第308师担负主要作战任务。首先以第312师在永安以东地区吸引和迷惑法军,担负宁平作战任务的两个师(第320师已在宁平地区)秘密向南方机动。按照有利的设想,是攻击法军防线上的小据点,得手后设伏歼灭法军增援部队;如果法军不来,则在打开法军塔西尼防线南线东端的缺口后尽力巩固,控制人口稠密地区,同时抢收粮食,与法军争粮。
按最初计划,战役将在4月底或5月初开始。这是越南上半年旱季的最后几天,如果能在雨季到来之前完成战役计划,随后到来的大雨和它造成的大片泥泞地带可以阻滞法军的增援行动。
可是,越军主力在5月到来之前没有完成战役准备。
倒是1951年雨季提前到来了。5月初,越南北部连降大雨,越军第308师等部队和随军行动的将近4万民工不得不推迟行动。战役只好改在5月下旬实施。
5月28日,宁平战役拉开战幕。第304师由师长黎掌率领,中国顾问朱鹤云帮助指挥,在河内正南方向越过带江,于29日赶走了驻守富尼县城的法军。在主攻方向上,第308师突破塔西尼防线,包围省会宁平,继而全歼了那里的一个大队法军。5月29日,第308师进攻塔西尼防线上的欧哈据点时,打死了据点的指挥官贝克纳中尉,他是印度支那法军总司令塔西尼唯一的孩子。同一天,越军伏击了正在带江上航行,往宁平运送给养的船队。第320师的两个团迅速越过塔西尼防线,进入带江东岸地区。宁平战役初战得手。
法军确实没有料到越军会向塔西尼防线南部进攻,深为越军主力居然能够隐蔽地机动到南线而震惊。然而这回塔西尼作出了迅速反应。在29和30日两天中,塔西尼向战区派出了三个步兵机动集群,四个炮兵群,一个机械化集群和一个伞兵营,还有相应的江河舰队舰只,总兵力达到两个师约2万余人。
增援的法军于6月1日赶到战场,战斗即出现了相持状况。雨后道路的泥泞不仅使法军的行动艰辛倍增,也使越军的兵力调动出现困难。由于越军主力已经越过带江进入平原稻田地区,法军空军的轰炸条件变得有利了。同时,法军江河舰队的小炮艇不顾搁浅的危险,一艘接一艘地开进了带江以东的水网地带。法军空军的轰炸和炮艇的轰击又一次造成了越军的伤亡。
深入带江东岸腹地的越军第42和第64独立团也遇到了事先没有想到的困难。他们遇到了当地天主教地方武装的阻击,久攻不克,最后受到了法军援军的夹击。法军空军和江河舰队在带江水面上击沉给越军运送补给的大船和舢板,越军的供给线和退路受到严重威胁。
战至6月6日,战局发生了转化,越军的带江供给线面临被切断的威胁,在前方战斗的越军也连连受挫。越军在宁平大量歼敌的战机已经失去。越军总军委和中国军事顾问紧急会商后,决定结束战役,于6月10日起撤出战斗。6月20日,宁平战役结束。但是,一部分越军没有来得及撤到带江西岸,被法军围住,约有1000余名越军战士被俘,还有一些牺牲了。