戚繼光深感敵我兵力懸殊太大,就和譚綸相商,先穩住敵人,等待援軍到達,再發起進攻。得到譚綸的支持後,戚繼光命令新任守備胡守仁和把總蔣伯清領兵駐紮縣城附近的鐵山,據險為壘,和倭寇相持,以牽製敵人的兵力。另外,從各營挑選500名勇士,組成敢死隊,悄悄地接近倭巢,相機突襲;戚繼光在大本營不時地發炮,頻繁地調動軍隊,以迷惑倭寇,作為緩兵之計。
倭寇偵悉戚家軍要解仙遊之圍,自恃兵重勢強,拚命攻城。戚繼光擔心城中守軍兵力不足,恐懼心理增長,特派自己的親兵乘夜入城,協助防守,並且將自己的大本營移到離倭巢更近的石馬,四麵布置疑兵,既遏製倭寇四出剽劫,又阻倭專意攻城,鼓舞了城中守軍士氣。城中百姓,在戚繼光英雄行為的感召下,踴躍登城,協助守軍,打擊倭寇。
倭寇發現明軍不敢出戰,老是鼓噪呐喊,斷定戚家軍勢單力薄,便加緊了攻城準備。十二月初六日,倭寇發起了大規模的進攻。他們簇擁著木梯湧向城下。城上軍民不畏強敵,奮勇反擊。攻擊西門的倭寇,砍倒木柵,衝破土城,蜂擁攀垣。守城勇士陳二、林誌寬眼疾手快,揮舞戰刀,連劈帶砍,倭寇嚇得往後退。可是,陳二、林誌寬卻不幸被倭寇冷箭射中,壯烈犧牲。倭寇乘勢再次登城,勇士劉居芳、丘世修和吳育,為守住陣地,與敵浴血搏戰,倭寇招架不住,紛紛沿木梯往下退。遊兵李以仁拿著點燃的木柴衝到城下,焚燒倭寇的木梯,敵陣混亂,狼狽撤退。攻掠城北門、城南門的倭寇,也都遭到守軍的英勇抗擊,紛紛撤逃。戚繼光在石馬乘機放銃助戰,倭寇以為大兵已到,嚇得逃入倭巢。
十二月二十三日,戚繼光盼望已久的6000名援軍終於到來了。雖然在數量上,明軍仍然處於劣勢,但是,這是戚家軍從浙江調來換防的部隊,經過休整,士氣高昂,求戰情緒激奮。戚繼光認為全麵反攻,徹底殲滅倭寇,解除仙遊之圍時機已到。立即召集將領商討作戰方略,研究兵力部署,命令守備王如龍位居中左路、守備胡守仁位居中右路,兩軍合力搗毀南門倭巢;把總陳濠位居右路,攻取東門倭巢;遊擊李超位居左路,攻取西門倭巢;把總金科率大營正兵,擔任預備隊,隨時策應各門;指揮呂崇舟、副總兵金文秀率兵至鐵山,以牽製北門倭巢。根據當時的敵情和地形,決定首先進攻南巢,得手後再攻東、西兩巢,最後圍殲北巢。
部署完畢,戚繼光下令明日開始行動。二十五日,各部按預定計劃到達指定地域。這天夜裏大雨不停,路上行人斷絕。次日拂曉,大霧彌漫,各部秘密向南巢推進。
狡詐的倭寇先行一步,乘濃霧天氣從南門發起攻城。這次倭寇接受以往攻城失利的教訓,創造了一種登城器具“呂公車”。這種車高於城牆,四周都粘上竹木棉氈,既防炮火,又不怕弓箭,使用時推至城下,從車頂上接木板至城牆,倭寇即可渡橋登城。正當倭寇拚命登城時,明軍王如龍從左側發起進攻南巢的戰鬥。倭寇見老巢被搗,隻好暫停攻城,布開陣勢,垂死掙紮。胡守仁從右側進攻南巢,倭寇緊縮兵力,憑巢反抗。明軍奮勇衝殺,摧圍拔柵而入,焚燒敵巢,殘倭分別逃向東西兩巢。胡守仁乘勝向東追擊,與右路陳濠部夾擊東巢,王如龍向西追擊,與左路李超部合兵夾攻西巢,各路將士英勇突擊,迅速燒毀兩巢。其餘倭寇數千人拚命逃向北巢,做垂死掙紮。