二月十二日,郑军主力突然出现在万泉河北,大惊失色的几部清军纷纷脱离原来的营地汇聚成团,似乎这样就能提高己方的力量,挡住郑军的大兵了。但出乎清军的意外,郑军眼睁睁的看着清军汇聚起来,却没有立刻发动攻击,反而作出一副掘砦自守的架势来。
对于郑军的动作,清军高层很快得出了正确的判断,出于后援不济及粮道将断的担心,三部清军顾不得核实何傅在河南的生死便第一时间做出了撤退的决定。可是要从郑军的眼皮底下毫发无损的撤出又谈何容易,这不,清军刚刚开始移动,吴淑指挥的郑军就果断出兵拦截,双方就此在加凤岭、伯二坡南再次对峙。
看起来双方不做过一场,清军是无法全师而退了,但出人意料的事情却发生了。
舒穆禄?科齐指挥的八旗马队不顾己方还有一战之力就丢下行动缓慢的步军夺路而逃。八旗兵这么一逃不要紧,万余清军立时便彻底崩溃了。各级将官有马匹的纷纷打马逃窜,没有马匹的也纷纷向山区和海边逃逸。
见到这一幕,一时惊讶的吴淑很快调整了部属,他以左勇卫师和左龙骧师清剿抓捕溃散清军,其余二师转而北上,直扑安定一线。
二月十九日,自安定方向杀出的郑军出现在白沙水寨之外,此时虽然驻防八旗才刚刚退到文昌,但清军大败的消息已然随着北返的水师余部传回了白沙。正在白沙人心惶惶之际,郑军出现让守军不得不闭寨坚守。不过由于水寨中尚有三千五百余水陆战兵,因此清军在向琼州及粤省告急之后尚有信心实现坚守。
由于火炮等重型武器尚在输运当中,担心折损兵力的吴淑并没下令立刻攻击水寨。
二月二十二日,自文昌、会同撤回的清军三千五百余人途径白沙水寨,正当水寨守将试图联络这批清军里应外合夹击郑军之际,在回撤部队中占据大部分兵力的八旗马队再度发挥了其超速的机动性,再度甩开友军自顾自的逃往琼山。
八旗马队不战而逃之后,没有斗志的剩余千五清军便主动乞降。没有等到火炮到来的吴淑遂驱使新附军蚁附攻寨。白沙守军虽然两度击退这批新附军并给予极大的杀伤,但坚守水寨等待援军的信心已然彻底丧失。
二月二十三日,郑军的火炮运抵阵前,经过一番较射,郑军已经做好了强攻的准备。见到郑军炮火犀利,预感到水寨已经无法坚守的一众清军守将及部分亲军连夜乘坐不多的几艘广船、长龙逃回了大陆,群龙无首的剩余清军便在第二天一早开寨投降。简单编组了数千降军之后,吴淑除留下一个团扼守白沙以外,其余兵马马不停蹄的逼近琼州,遂在二十五日对琼州府城实施合围,约七千人的清军被包围在府城之内苟延残喘。
二月二十六日,吴淑派被俘的清军带信入城劝降,结果遭到清军的拒绝,于是郑军收罗各种木料打造云梯等攻城器械准备强攻。
二月二十八日,押解着丁、马两部三千七百余降兵的郑军左勇卫师和左龙骧师开抵琼州城下。至此,连同八千新附军在内,郑军已经集结了二万二千余人的庞大兵力以及六十余门各式火炮,一场必然血腥的攻城战即将拉开帷幕。
三月三日,在三寸半炮的雷鸣声中郑军发起第一波攻击,数千新附军在郑军的驱赶下冒着城头的弹矢先在河口河(注:即美舍河)中用沙袋填埋出十几条数人宽的通道并架设了若干座简易的箱式浮桥,接着又两度攻上城头。守城清军殊死抵抗,虽然二度打退郑军的攻势,但却在郑军支援的炮火中损失极为惨重。
三月四日,在万泉河抓捕的五千多清军俘虏在郑军的押解下也开到琼州,当即填入新附军各队,吴淑亲自向新附军训话,确保城破之后保证他们的生命。正是依靠着新附军们爆发出来的求生欲望以及兵力上的绝对优势,郑军在自身未付出任何伤亡的情况下于这一天的下午未时三刻夺取了顺化门(西门)外的子城。
三月五日,残余的八千多新附军分四路攻打琼州,清军疲于应对,遂在当天午时前后丢失了永泰门(东门)、靖南门。夺门而入的新附军一面顺着城墙向顺化门攻取,一面直扑知府及总兵衙门,双方在长街上捉对厮杀,血流成河。
清军是越打越少,而源源不断的新附军却杀意正浓,因此胜利的天平不言而喻的倾向了明郑一方。下午未时中,琼州府衙大堂二堂失陷,琼州知府选择上吊尽忠。又过了不但半刻钟,琼州总兵也在捍卫总兵衙门的过程中战死在昔日的同袍手中。至于怯弱的副都统科齐大人,这次逃无可逃他选择了最惨烈的蹈火。