Après le premier traité de Hué () établissant le protectorat français sur l'Annam, la Chine refuse toujours au gouvernement de Hué le droit de traiter directement avec la France, se réservant « le droit entier et exclusif d'agir sur le Fleuve Rouge »[1]. Deux armées régulières chinoises, celle du Yun-Nân et celle du Kouang-Si, se joignent aux bandes des Pavillons Noirs qui sévissent au Tonkin. Bientôt, ils occupent les deux forteresses de Sontay et Bac-Ninh, et menacent de passer à l'offensive. Dans l'urgence, Courbet proclame l'état de siège, et décide de profiter de la hauteur des eaux pour marcher sur Sontay, en bordure du Fleuve Rouge, devenue depuis août le point de réunion et de défense des Pavillons Noirs et des réguliers chinois.
Ordre de bataille chinois
Les Pavillons Noirs, commandés par Liu Yongfu (Lu-Vĩnh-Phước en vietnamien), occupent à deux kilomètres du fleuve, la grande citadelle de Sontay, entourée d'une digue haute de six mètres, garnie de canons et de meurtrières, plantée d'une haie de bambous, défendue, ainsi que les digues et villages groupés sur les quatre routes qui rayonnent autour d'elle par 10 000 Pavillons Noirs, 10 000 réguliers chinois et 5 000 annamites; les retranchements sont armés d'une nombreuse artillerie.
Ordre de bataille français
En , le Corps expéditionnaire du Tonkin comptait 9 500 hommes, constitué de régiments de marche à trois bataillons d'infanterie. Ne pouvant dégarnir toutes les garnisons, Courbet, avec 6 000 hommes, forme deux colonnes qui partent de Hanoï, le .
4e, 5e et 11e batterie d'artillerie de marine montée à cheval
deux batteries de 65 de marine.
Déroulement
La colonne de gauche, commandée par le colonel Belin, suit la route de terre par Phu-Hoaï, Pa-Lau et Phun; la colonne de droite, commandée par le colonel Bichot remonte le Fleuve Rouge avec six canonnières (Pluvier, Trombe, Éclair, Hache, Mousqueton et Yatagan).
Le , la colonne qui remontait le fleuve, débarque en amont du confluent du Day et s'y fortifie. Elle est rejointe le 13 par la colonne terrestre et Courbet s'empare de Phu-Sa le .
Devant Sontay, Courbet se masse avec ses adjoints, Bichot, Belin, Badens et Revillon devant la porte Ouest, ses batteries bombardant les arrières de la citadelle. À cinq heures, la Légion étrangère en tête, l'assaut est donné. La citadelle tombe entre les mains des troupes françaises le à six heures du soir.
La baisse des eaux ne permettant pas aux canonnières de Courbet de remonter le fleuve au-delà de Sontay, Liu Yongfu se retire sur Hong-Hoa et s'y fortifie.
Conséquences
Les Pavillons noirs de Liu Yongfu refoulés sur le haut du Fleuve Rouge, la prise de Bắc Ninh devient plus facile.
Promu vice-amiral et élevé à la dignité de grand officier de la légion d'honneur, Courbet, dépité, doit céder le commandement du corps expéditionnaire au général Millot. La poursuite de la campagne et les défaites infligées au Céleste Empire entraîneront l'accord de Tientsin, signé le , prévoyant un retrait des troupes chinoises du Tonkin en échange d'un traité complet réglant des problèmes commerciaux entre la France et la Chine, et la démarcation de la frontière sino-vietnamienne.