此,刘永福未能乘胜追击,收复河内。只有唐景崧愿意与他并肩作战。
与此同时,法国采取了双线作战的策略,一方面由孤拔率领七艘舰艇和一千名士兵攻击越南首都顺化,另一方面由波滑率领两千名士兵进攻黑旗军防守的北圻据点。前者由于越南国力薄弱及政局动荡而迅速得逞,并签署了第一次顺化条约,将越南变成法国的保护国;后者则遭遇了刘永福和唐景崧的顽强抵抗。七月十三日,波滑进攻刘永福在怀德府的驻地,但被击退。两天后,洪水冲毁了黑旗军的驻地,迫使他们撤退到丹凤县。七月二十九日,波滑再次进攻丹凤,但由于洪水的影响和黑旗军的顽强抵抗,法军在相持三天后被迫撤回河内。
此后,刘永福将驻地移至地势较高的青威县,准备伺机收复河内。然而,当得知法军控制顺化的消息后,越南政府命令北圻诸臣停止抗法,并停止向黑旗军发放饷银。声援刘永福的驻越清军在得知越南投降的消息后也开始撤退,其中滇军撤至兴化,桂军撤至北宁。黑旗军被迫退守山西,仅由云南每月提供五千两饷银。
在此期间,唐景崧再次建议刘永福割据北圻称王,但遭到了刘永福的拒绝。刘永福认为山西难以防守,打算退守保胜。唐景崧于是指使黄守忠向刘永福争取死守山西,最终刘永福决定坚守山西。
光绪九年(1883年)九月,中法谈判因法国强迫中国承认《甲戌和约》而陷入僵局,清政府决定对法采取强硬政策。九月二十二日,清廷下旨拨给刘永福、唐景崧十万两饷银,公开支持他们的抗法事业。刘永福随即派遣人员回国招募了1000名新兵,而唐景崧也请来了滇军三营共1000人来守卫山西。
此时,法国派遣孤拔率领6000人的海陆大军及各种先进武器北上,直扑山西。尽管刘永福和唐景崧联合了滇军、桂军和黑旗军共计6000人,但由于其中有1000名新兵,且装备相对落后,大部分使用旧式的前膛枪、抬枪等,大炮也是笨重的铁炮,远不如法军精良。
十一月十四日,中法战争的第一场大战——山西之战爆发。刘永福率领的军队经过三天的激烈战斗,虽然暂时抵挡住了法军的攻势,但他意识到凭现有的兵力和军火难以坚守山西,于是留下部分黑旗军继续守卫,自己则率主力撤