黎氏复位与清军南下
18世纪80年代,西山势力进入越南北部,原有的黎帝与郑主权力结构瓦解。黎昭统帝黎维祁及其支持者寻求清廷援助,乾隆皇帝决定出兵扶黎。1788年,两广总督孙士毅率军南下,占领升龙,即今河内,并在那里册封黎维祁为安南国王。
西山守将吴文楚等撤至三叠山、汴山一线,保存水陆兵力。清军的到来使黎氏获得短暂复位的机会,但其统治仍受制于西山军控制的地区和自身薄弱的政治基础。此役同时涉及清朝对外用兵、黎氏复位活动与西山政权争夺北部统治权。
光中北进与多路攻势
阮惠在富春即皇帝位,改元光中,然后率军北上,在乂安征集兵员,再与退守三叠山的部队会合。《皇黎一统志》记述,他在岁末分派各路军队,既沿通向升龙的道路推进,也安排侧翼部队袭击据点、截断清军归路。
1789年春节期间,西山军连续压迫升龙外围防线,河洄守军投降。越南史书所记的关键总攻发生在己酉年正月初五,越南国家历史博物馆将其换算为公历1月30日。玉洄位于升龙南面,姜上即栋多一带的清军据点位于另一进攻方向;两处战斗共同影响了首府的安危。
据点失守与清军溃退
阮惠亲自督攻玉洄,西山军另一支部队袭击姜上。《皇黎一统志》描写玉洄攻坚时以木板组合掩体,外蒙浸水禾草,由士兵抬举前进;骑象督战、步兵接近营垒后的近战,也构成其叙事的重要部分。姜上守军溃败,岑宜栋自缢,西山军随即推进升龙。
孙士毅率部北撤,大批败兵挤向红河渡口,浮桥中断使撤退进一步失序。黎昭统帝及家属也离开升龙,最终进入清朝境内。《皇黎一统志》将消息断绝、侧翼突袭和仓促逃亡连成败局;《清史稿》则突出孙士毅迟不班师、轻敌不备,并以清廷受挫的角度叙述损失。两者对战斗时序和部分细节并不完全一致,但均记载清军失守升龙及黎帝再次出亡。
战后的承认与统治
战败后,孙士毅被撤职,福康安接任两广总督。阮惠以阮光平之名遣使交涉,清廷接受其入贡与请封,转而封他为安南国王。黎维祁没有得到新的复位战争支持,后来被安置在清朝境内。外交承认由黎氏转向阮惠,是这场战役造成的具体政治变化。
西山方面凭军事胜利掌握北部,却继续通过朝贡礼仪与清廷往来。Ku Boon Dar把这一安排解释为以对外礼仪上的从属换取内部统治的安全空间。阮惠在国内的皇帝称号与清廷授予的国王名号并存,体现了两套政治秩序之间的折衷,而非清朝在战后直接接管当地行政。