起因
979年,越南丁朝宮廷發生內訌,原太子、南越王丁璉殺死太子丁項郎。不久宦官杜釋發動宮廷政變,殺死了丁部領和丁璉。阮匐、黎桓等人又殺死杜釋,扶立丁璇即位。隨後黎桓執掌政權,鎮壓阮匐等反對勢力。占城乘機進攻丁朝首都華閭。
980年,宋朝知邕州太常博士侯仁寶上奏宋太宗,請求趁丁朝內亂之機南下討伐。宋太宗任命侯仁寶為交州陸路水路轉運使;任命蘭陵團練使孫全興、漆作使郝守俊、鞍轡庫使陳欽祚、左監門將軍崔亮為兵馬都部署;寧州刺史劉澄、軍器庫副使賈湜、供奉官閣門祗候王僎為兵馬都部署,伺機進攻丁朝。
丁朝太后楊雲娥得知宋朝調兵遣將將要南下,令黎桓整備兵馬。黎桓為心腹部將范巨備所擁戴,在軍中自稱皇帝,建立前黎朝;廢丁璇為衛王。
經過
宋太宗得知黎桓篡位,以扶立丁璇復位為名義,下令侯仁寶率陸軍出邕州,劉澄率水軍出廣州,立即發兵討伐黎桓,試圖水陸夾擊。宋太宗同時還向黎桓發出國書,斥責其篡奪丁朝皇位之事。黎桓派牙將江巨望假冒丁璇的使者出使宋朝,要求加封節度行軍司馬。宋太宗察覺到這是黎桓的緩兵之計,一面令宋軍繼續進兵;一面遣使赴黎桓處,要求黎桓或是交出丁璇母子,或是入朝受封。但黎桓不予理會。
980年,宋朝陸軍侯仁寶、孫全興部到達諒山,陳欽祚部到達西結,打敗數萬黎軍,殺死二千餘人。水軍則由劉澄率領,到達白藤江。黎桓命令在白藤江里打下許多木樁,阻攔宋軍的戰船。次年春,宋軍在白藤江打敗黎軍,斬首千餘人,俘虜戰船二百餘艘。侯仁寶率軍先行,孫全興部停留在花步地區七十天等候劉澄的水軍。侯仁寶多次派人催促,但依舊滯留不前。劉澄軍到來後,兩軍方才合兵前進,由水路至多羅村。黎桓引兵退至支棱江,遣使向侯仁寶獻詐降書。侯仁寶中計,不以為備。於是黎桓夜襲宋軍軍營,擊潰宋軍,侯仁寶戰死。陳欽祚得知侯仁寶已戰敗身亡,率軍撤退,遭黎桓追擊,大敗。
戰後
轉運使許仲宣向宋太宗上奏此事,宋太宗下令撤軍回國。不久,宋太宗下詔懲治相關將領。劉澄憂驚病死,賈湜、王僎二人在邕州被處死。孫全興被押赴汴京斬首,其他將領都遭懲處。陣亡的侯仁寶則被追贈工部侍郎的官爵。
黎桓在宋軍退兵之後,試圖與宋朝重新修好外交關係。983年,黎桓遣使向宋朝朝貢,遣還俘虜,上表謝罪。986年,又遣牙校張紹馮、阮伯簪等朝貢,並要求宋朝承認其在越南的統治地位。宋朝最終於987年承認了黎桓的統治地位。