于是,漳州水师从战船跨过白虾浦的沼泽地,直接向陆面上的唐军冲锋陷阵。唐兵原本就散漫的阵形顿时大乱,唐兵纷纷丢盔弃甲、溃散而逃。漳州将士一鼓作气,对入侵闽地的唐军同仇敌忾,恨不得杀他个片甲不留。最终,除了主将冯延鲁及时潜逃外,其麾下的所有将士几乎在白虾浦伤亡殆尽。
与此同时,泉州军恰好也从陆路抵达福州,攻破唐军驻防的要塞,与董思安的漳州军会师,两军联合攻向福州城外那剩余四路的唐国大军。援军已至的消息传进福州城,林仁翰和陈诲随即率军从城内冲出,与泉州和漳州的援军里应外合,共同驱逐唐国的其余大军。
王建封的大军首先遭到了合围,作为指挥官的王建封,更是在混乱之中不见了踪影。当陈觉、魏岑、王崇文等其他三路唐军将领得知,冯延鲁的大军已经在白虾浦溃败、而王建封的大军又在城外遭到合围之时,这才意识到战场局势已然发生了如此突然的逆转之势,麾下的众将士也都慌了神,不知如今是该进攻还是退守。
情急之中,这三位将领各自起了私心,为了保存自己的实力,都先后不约而同地选择了撤兵。于是,唐国剩余的三路大军就这样灰不溜秋地撤离了福州城,准备再次回到侯官扎营驻守,等待进一步作战计划。
溃败的冯延鲁连夜逃回金陵,既不敢如实汇报战况,又不甘心就此放弃,只是向李璟进言,要求继续集合各路大军,等待一个更好的时机,再次进攻福州城。李璟于是命各路唐军,都先往建州暂歇,再作下一步谋划。然而,出乎意料的是,就在诸将接到前往建州的军令时,王建封早已从福州跑回了建州。
原来,唐军攻福州战败,撤军建州,殊不知王建封早已在阵前被俘,之后被林仁翰兄弟三人策反,投靠了闽主。陈诲亲率大军押送王建封和他的亲军赶赴建州。王建封领亲军入城,镇守建州的查文徽对王建封毫无防备,被王建封囚禁。唐将祖全恩奋力反抗,最终被杀。
当王建封控制了城内的唐军,便迎陈诲的大军入城,陈诲于是替闽主夺回了建州城。之后,查文徽被悄悄押往了福州。除了王建封的亲军外,镇守建州城的其他唐兵被没收了兵器,全部捆绑了手脚,并严加控制。
正所谓兵不厌诈,陈诲打算在建州对唐国剩余三路大军进行沉重打击,打响建州反攻战。于是仍然假以王建封镇守建州城,让闽兵伪装为唐兵,站在建州城墙上为诱饵。王建封假装仍然效忠于唐国,让唐国的大军放松警惕,来一个请君入瓮。
为了协助陈诲,闽主王延政调汀州大将刘琼紧急驰援,紧随三路唐军之后抵达建州城下,并埋伏建州城外。陈诲指挥城内的精兵,和城外的汀州援军,实施瓮中捉鳖行动,伺机对敌军进行围歼。
当陈觉、魏岑、王崇文率领剩余的三路唐军,浩浩荡荡地出现在了建州城下。只见建州城的城墙上士兵林立,而城门却紧闭,一片死寂般的宁静。就在他们觉得奇怪的时候,赫然发现城墙上伫立着的士兵一个个都十分面生,虽然他们的胸前有一个大大的唐字,那是唐国的士兵服,但他们却没有一个像唐国人。
就在陈觉、王崇文他们感到迟疑的时候,却见城楼上又出现了王建封的身影,他们这才放心了。陈觉命其打开城门,王建封只说,让大军先集结城下,再有序进城。不一会儿,三路队伍数万兵力已经集结于城门之下,陈觉再三命令城墙上的王建封打开城门,却不得回应了。当他们意识到其中必有诈的时候,已经来不及了。
陈诲率领着精兵正埋伏在建州内城的城墙上。一声令下全部齐齐现身,有的拉弓箭,有的扔火球,有的掷石块,对着城墙下的一万唐军就是一阵暴击。
城门大开之际,陈诲率军杀出,而城外埋伏的汀州援军,也在刘琼的率领下,一同现身,形成了对唐军的合围。一场恶战一触即发,城门里里外外的唐军发生了相互的踩踏,弃战而逃的士兵更是数不胜数,三路大军将领都各自率领一个小分队纷纷逃命去了。
福州保卫战和建州反攻战大获全胜。
唐军将士被俘众多,以查文徽的官职最大,是枢密院副史。反正俘虏留着也不敢用,杀了还嫌费时费劲,让唐国用重金赎回也是个不错的主意。查文徽应该比较值钱,估摸着能向唐国索要几千两黄金或是几万两白银。
唐国所处的淮南一带,一向经济富庶,李璟又怎么可能不舍得区区一千两黄金。于是,闽主王延政派遣使者前往唐都金陵城,手持停战协议和闽主王延政的亲笔诏书,诏书上白纸黑字写得明了,只要唐国赔偿五千两黄金或五万两白银,就释放俘虏。唐国果然是财大气粗,五千两黄金说给就给,于是,查文徽和其他唐兵俘虏送上了前往金陵的归途。