公元971年,宋灭南汉,大瞿越(交趾,越南)丁朝派使者到宋请求宋王朝的册封,愿做宋地藩属。宋接受了丁朝的请求,册封丁部领检校太尉、交趾郡王。宋太祖赵匡胤还封丁朝丁部领儿子丁琏为静海军节度使、安南都护。丁首领立小儿子项郎为太子,准备传位给他。老大丁琏不服。于公元979年发动兵变,杀死项郎,图谋篡位。不久宫廷侍卫发动兵变,杀了丁首领和丁琏。
掌握兵权的“十道将军”黎恒起兵勤王平叛,平定宫廷兵变后,黎恒和大臣阮韧等人拥立丁璇上位。黎恒把持朝政,自称副王,私通太后,挟天子以令诸侯。
宋这边979年,宋太宗北伐,意图收复燕云地区,结果在高粱河栽了大跟头,刚继位就战败丢了脸面。又得到藩属交趾发生了黎恒篡位的消息,气不打一处来。此时收到邕州知州候仁宝的奏章,说交趾内乱,可图之。宋太宗想,在北边丢了面子,南边可图的话,那北边丢掉的面子,去南边找回来,不是也挺好的么。这收复了交趾也是不世之功。在岭南地区开始调兵遣将,扩军备战,随时准备南下。
公元980年,令太常博士侯仁宝为交州路转运使统领水路大军,进攻交趾,惩罚黎恒。孙全兴率领陆路兵马,刘澄率领水路兵马。宋军向凉山一带进发,准备由此突入交趾境内。
宋军的到来,黎恒借此机会和自己手下在交趾上演了一场“陈桥兵变,黄袍加身”,把丁璇母子赶王宫,软禁起来。同时黎恒派人到宋,请求册封,被宋太宗驳回,兵下令大军按原计划进军。黎恒请求册封失败,只能正面硬刚宋军。
宋军陆路军马进展顺利,首战击败越军,斩首两千余,进驻凉州,凉州的攻破就意味着打开了陆路进攻交趾的大门。水路军达到白藤江首战胜利,斩首千余。
黎恒学当年吴权在白藤江的险要地方埋下暗桩,宋水路军受到水下安装的阻挠,暂时撤军。
随着陆路军的突入,水陆军的受阻撤退,相互之间的联系越来越难。孙全兴部在花布等待水路军,等了70多天,而此时的候仁宝孤军深入来到支凌江。逐渐陷入黎恒的陷阱之中。黎恒送来了诈降书,侯仁宝以为马上就大功告成了,宋军防备松懈,黎恒部趁夜偷营,候仁宝战死,宋军被迫撤退。
至此,宋军白藤江之战失利。战败军报传回朝廷,宋太宗大怒,将刘澄等人论罪处死。意图再次征讨交趾,可是得不到朝中大臣的支持。更重要的是北边,高粱河失利之后,辽宋之间的摩擦不断,时不时就有辽的小股部队来边境袭扰,给宋带来很大的压力。宋更多的精力放在北边,对北边用兵,比南边用兵更为迫切,更为重要。宋无力两线作战。
黎恒赢得了白藤江之战,大事庆祝,同时他也知道凭借自己的实力,没办法和宋展开全面的对抗,趁胜利之际,再次派使者到宋上表谢罪,请求册封,表示愿意释放交换所有俘虏。宋太宗借这个台阶就下来了,暂时放弃收复交趾。