法国政府认为,这个草约没有明确解除中国与越南的藩属关系,没有达到他们希望达到的全部目的,因而拒绝接受。一个多月后,在“李福协定”并未生效的情况下,法国军队以“接防”为名,突然袭击越南北部重镇谅山附近的北黎,再挑战端。在遭受驻防当地的中国军队重创之后,竟厚着脸皮向帝国政府索要赔偿,并扬言要占领中国本土的港口。
大清帝国政府认为,“李福协定”出卖了越南,不合天朝上国向来所坚守的道义,因而也拒绝接受这个草约。北黎军事冲突以后,帝国政府拒绝了法国的无理要求,光绪皇帝下令东南沿海各省积极备战,坚决打击一切敢于来犯之敌。
可是, 7月中旬,当海军中将孤拔率领的法国远东舰队以“游历”为名,驶进马尾军港的时候,福建地方官员却举行隆重的欢迎仪式,——或许为了“和议”,或许是等待列强“调解”。闽浙总督和福建船政大臣严谕驻扎军港内的福建水师,不准先行开炮,违者虽胜亦斩。为免使法军产生疑虑,港内水师舰只甚至被禁止移动。
马尾即马江,位于福州闽江下游。18年前,在举国上下的洋务大潮中,时任闽浙总督的左宗棠选择马尾港作为他一手创建、后来大名鼎鼎的福州船政局的厂址,并在沿岸修建了炮台。1870年代,福建船政大臣沈葆桢——他是林则徐的外甥兼女婿——将他苦心经营的福建水师的大本营也设在了马尾。孤拔的远东舰队开进马尾的时候,福建水师已有各种舰艇30艘,是帝国海军中吨位最大、力量最为雄厚的一支威武之师。此时,这支颇具战斗力的铁甲雄师,受限于帝国的政治和外交,全部停泊在军港之内。
8月23日,中法和谈的希望破灭。下午一点刚过,法国军舰突然向福建水师开炮,仓促之下,福建水师的多数舰只还来不及起锚,便被远东舰队的优势炮火纷纷击伤或击沉。海战仅仅持续了不到30分钟,福建水师兵舰11艘,运输舰19艘,全部被击毁,近八百官兵殉难。与此同时,远东舰队还用猛烈的炮火轰毁了经营近20年的福州船政局。此后,又将马尾至出海口之间的岸防炮台以及无数民房尽行破坏。
福建水师旗舰“扬武”号反应最为敏捷,其尾炮发射的第一发炮弹即击中远东舰队旗舰舰桥,击毙5人,这是中国方面在这次短暂而又惨烈无比的海战中的全部胜果。后来成为铁路工程师的詹天佑当时就在“扬武”号担任炮手。老天保佑,远东舰队的炮弹没有击中这位年轻的炮手,为中国保留了一位最伟大的工程师。詹天佑为早年的留美幼童生之一,他的留美同学中有七人参加了这场叫人憋气的海战,其中四人阵亡。
黄昏的时候,残阳投射到死伤狼藉、断壁残垣的马尾港,江海相连的水面,一片血色,悲情的场景,即使百余年之后,仍然强烈地刺激着每个中国人的视觉神经。
法国的远东舰队于马尾得手以后,分兵攻击台湾岛的基隆和淡水,但遭到了淮军名将刘铭传所率领的守岛部队的顽强抵抗,于是,舰队封锁了台湾海峡,继续在东部沿海骚掠。明年初,远东舰队于镇江海面被驰援福建的帝国南洋水师截击,两艘军舰被击沉,舰队司令孤拔也于此后在澎湖死去。(注:孤拔的死,法国方面说是病死,中国方面则认为是被南洋水师的火炮击成重伤,不治而死)
陆地上,帝国的一支军队在帮办广西军务的老将冯子材率领下,将士用命,于中越边境的镇南关重创意图进犯的法国地面部队,并乘胜收复越南北部的文渊、谅山等重镇。消息传到巴黎的明日,茹费里内阁倒台。
在热热闹闹地打了一年多之后,双方均死伤无数的情势下,法国的新政府和大清帝国政府几乎同时宣布,接受一年前签订的“李福协定”,帝国从越南撤军,法国解除台湾海峡的封锁。6月,《中法会订越南条约》在天津签订,大清帝国被迫放弃越南。
事后,有人评论,“法国未胜而胜,中国未败而败”,意指中国在战争取得胜利之后,反而议和,似有过于软弱之嫌。然而,我们应该看到,马尾之役几乎将大清帝国打回原形,船坚炮利并没有带来所谓自强的结果,偶尔的胜利当然更难以让帝国振作。况且,法国的远东舰队并未遭受重创,台湾海峡封锁如故,岛内守军供给困难。更为重要的是,此时的大清帝国已经不具备大型战争的实力。故而,“乘胜即收”的选择不失明智。