駐守在赤崁城的荷軍士兵只有400人,另1100人在大員長官揆一的帶領下駐守台灣城。荷蘭人的4艘船是兩艘戰艦和兩艘小艇,都在台灣城附近海域。荷軍兵力雖少,但毫不示弱,分三路迎敵:一路是戰艦,向台江南下的鄭軍艦隊進攻;一路是陸軍,由湯瑪士.佩德爾上尉(Thomas Pedel)率240人進入北線尾島南端,目標是奪回北線尾島;還有一路也是陸軍,由瓊‧范‧阿爾多普上尉(Joan van Aeldorp)率200人增援赤崁城。
先說佩德爾這一路,此時歐洲軍隊已經開始普及燧發槍,效率比火繩槍高很多,不受天氣影響,但裝填彈藥的方式沒變,依然很慢,他們一般是三排一組,輪流射擊,這樣火力不會間斷。通常拿弓箭的對手看到火槍的威力時,先從心理上被震懾了,因為火槍可以穿透任何盔甲,雖然準度差了點。佩德爾上島後,將荷軍12人一排,分成20排,輪番向鄭軍射擊。他以為只要打死前面衝鋒的幾排人,後面的人就會嚇跑。
但鄭軍不是沒見過火槍的人,他們常年在海上,和各色人等打交道,不僅見過,而且經常使用,也知道火器的短處在哪裡。佩德爾一邊放槍,一邊逼近鄭軍,沒想到對面的鄭軍不但沒退卻,反而積極迎戰,從側面包抄,然後,他們看到鄭軍的羽箭像雨點一樣落了下來,連天空都變黑了,佩德爾全軍覆沒。
再說阿爾多普這一支,任務是援助赤崁城。鄭成功發現後,出動「鐵人軍」(鐵甲兵),200名荷蘭士兵只有60人爬上岸,其餘都被消滅。
最有可能扳回一局的是海軍,但偏偏數量太少,只有兩艘戰艦和兩艘小艇。荷蘭戰艦都屬於蓋倫型帆船,船體大,一艘船能裝幾十門火炮,威力大。鄭成功不敢掉以輕心,以60艘大、小戰船將荷蘭艦隊包圍其中,然後展開炮戰。一艘荷蘭戰艦被擊沉,其他的戰艦準備逃跑,鄭軍團團圍住不放。但炮戰不是鄭軍的優勢,於是組織部分大船貼近,登上甲板打肉搏戰。一艘戰艦和一艘小艇重創逃脫,另一艘小艇跑回巴達維亞報信。
至此,荷蘭人在海上的火力被清除,台灣城和赤崁城成了兩座孤城。下一步就是完成對赤崁城的包圍,逼降荷軍。

駐守赤崁城的荷蘭司令官貓難實叮(Jacobus Valentyn)手下只有400人,雖然不足為懼,但赤崁城不容易打。這座城周長45丈,高3丈6尺,城牆上有4座炮樓,鄭軍不擅攻城,如果強攻必會損兵折將。1661年4月初三,鄭軍在城外抓到貓難實叮的弟弟和弟媳,鄭成功對他們曉以利害,讓他們回去勸降。接著,又派人向荷蘭人承諾他們的生命安全,表示可以帶走自己的私產。4月初四,台灣人切斷赤崁城的水源。貓難實叮眼見救兵無望,掛白旗投降。
登陸第4天,鄭成功攻占了赤崁城。有了赤崁城為基地,等於給遠渡重洋的鄭軍吃了顆定心丸。剩下的台灣城,就是時間問題了。
台灣城雖然沒有赤崁城高大,但是專為軍事目的修建,所以更難打。為避免損失,鄭成功讓貓難實叮去勸降,結果遭到揆一的嚴辭拒絕。鄭成功覺得不給荷蘭人點顏色看看,很難讓他們認輸伏降。
台灣城上有數十尊大炮,又站得高,射得遠,單靠戰船很難靠近。鄭成功派人從大員島南端(七鯤身)登陸。荷軍得知消息後,擔心鄭軍主力登島,派兵出城清剿。到了七鯤身,還沒來得及列陣,被鄭軍伏擊,死傷過半,餘者退回城中。鄭軍在七鯤身立柵欄、設炮台,以此做為攻打台灣城的據點。

4月底,鄭軍調集28門大炮猛擊台灣城,城牆遍體鱗傷。荷軍立於城頭集中火力還擊,還出動軍隊搶奪鄭軍的大炮,但被鄭軍的弓箭手擊退。
台灣城實在太堅固,荷軍又負隅頑抗。鄭成功知道如果強攻必然造成大量傷亡,乾脆打持久戰,敵人彈盡糧絕後自然投降。他一面派兵分駐各地屯墾,一面到原住民四大社(新港、目加溜灣、肖壠、麻豆)巡視,拜訪各部族首領。
5月2日,鄭軍6千援兵從廈門到達台灣,還帶來補給。從5月5日開始,所有通向台灣城的道路都築起柵欄,挖了壕溝,斷絕一切與外界的聯繫,以此圍困荷軍。此外,鄭成功還三番五次寫信給揆一,讓他投降。揆一始終在等待巴達維亞的援兵,拒絕投降。
5月28日,巴達維亞總督得知台灣的消息後,匆忙拼湊了700名士兵、10艘戰艦,經過38天航行,7月18日到達台灣。
這支荷蘭援軍到達台灣附近海面後,一看鄭軍的架勢,躊躇不前,在海上停留近一個月後,才有5艘戰艦敢靠近停泊,其中一艘慌亂之中觸礁沉沒,船員被鄭軍俘虜。鄭成功從俘虜口中得知荷軍的兵力後,覺得是個圍城打援的好機會。
7月21日,荷軍決定反攻,分水、陸兩軍向鄭軍發起進攻。水路,荷蘭艦隊企圖迂回到鄭軍側後,結果反被包圍。鄭軍戰船隱藏在岸邊,只等敵艦進入埋伏圈,然後萬炮齊發。一個小時後,鄭軍擊毀荷蘭戰艦兩艘,俘獲小艇三艘,其餘戰艦跑回巴達維亞;陸上,荷軍往七鯤身反擊也失敗。
至此,荷軍士兵低落到極限,不願再戰。
【未完待續】