時林則徐已奉命兩廣總督,與水師提督關天培密籌,師船未可遽出大洋,不如以毒攻毒,遂招募漁艇、蛋戶,授以火船,領以弁兵,於二十年正月杪,先赴各洋島嶼潛伏,約候月晦之夜,乘退潮往,乘漲潮還,遊擊馬辰等,四路分進,出其不意,突攻之於長沙灣,燒毀運煙濟夷匪船共二十有三,岸上篷寮六,生擒奸民十餘名,其焚溺死者無數。夷船帶火倉皇開避,我兵勇乘潮急還,無一傷者。是時吸煙罪絞,販煙罪斬之律已頒行,一年六月之限已半,各省查辦日嚴,紛紛戒食者,已十之五六,而英吉利國中,聞廣東罷市之信,各埠茶葉,皆囤積不肯出售,市價踴貴,我閩、粵販茶之商船赴南洋者,皆倍利而返,其倫敦國都銀肆,無銀轉輸,至借鄰埠之銀巨萬,以供支發。
義律回國請兵,女王令國人會議,其文武官多主戰,其貿易商船皆不欲戰,連日議不決,最後拈鬮於羅占士神廟,三得戰鬮,始決計。國王命其外戚伯麥為統帥,率兵船十餘號,加以印度駐防兵艦二三十艘,甫出兵而印度之兵目馬哈他死,改以布爾利代之。二十年四月,林則徐奏聞,尚奉有“以逸待勞,以主待客,彼何能為”之諭。五月初九夜,林則徐又遣火船於磨刀外洋,以火船燒毀杉板夷船二,斃白夷四,又有一夷船桅帆著火,棄碇駕逃,先後延燒匪艇十有一,擒獲漢奸十有三。五月,英夷大小兵船十二,並火輪船三,先後至粵,泊金星門,其餘盡泊老萬山外,林則徐又以火船十艘,每二艘絙以鐵索,乘風潮攻之,洋麵寥闊,夷船皆駛避,僅焚其杉板小船二,而英夷自是不敢駛近海口。林則徐自去歲至粵,日日使人伺探夷事,翻譯夷書,又購其新聞紙,具知夷人極藐水師,而畏沿海梟徒,及漁船疍戶。於是募丁壯五千,每人給月費銀六圓,贍家銀六圓,其費則洋商鹽商及潮州客商分捐,又於虎門之橫檔嶼設鐵鏈木筏,橫亙中流,購西洋各國夷炮二百餘位,增排兩岸,並購舊洋艘為式,令水師演習,攻首尾躍中艙之法,又雇同安米艇、紅單船、拖風船,共備戰艦六十,又備火船二十,小舟百餘,令必俟晦潮乘上風為萬全必勝計。林則徐親赴獅子洋校閱水師,號令嚴明。至是又下令每殺一白夷者,賞銀百圓,黑夷半之,斬首逆義律者銀二萬圓,其下領兵夷目,以次遞降,獲兵艘者除炮械繳官外,餘盡充賞,於是夷船之漢奸,皆為英夷所疑忌不敢留,盡行遣去。其近珠江之內河,在澳門西虎門東者,盡以重兵嚴守,其餘海口多礁淺,非洋船所能入。
夷船至粵旬月,無隙可乘,遂乘風竄赴各省。是月夷船三十一艘赴浙江,先以其半攻福建廈門。時水師提督陳階平,先期告病,總督鄧廷楨督金沙兵備道劉耀春連開百餘炮,一炮擊中其大兵船火藥艙沉之,又募水勇數百,偽裝商船,出洋攻諸南澳港,是夜無風,夷船不能駛避,且柁尾無炮,我舟低,又外蔽皮幕,銃彈不能中,遂壞柁尾,擲火罐噴筒,殲其夷兵數十。會風起,夷船竄避。六月全赴浙江,攻定海陷之,總兵張朝發中炮死,知縣姚懷祥、典史全福投河死,其分出之船,遊弋閩、粵,時時窺伺。七月,夷船攻澳門後之關閘,我守兵炮沉其數小舟,傷其夷目夷兵數十。八月,林則徐偵夷帥士密之兵船五艘在磨刀洋,遂遣副將陳連升、遊擊馬辰等,率五大艘出洋剿之,每艘兵六百。時四艘阻風在後,馬辰一艘先遇夷帥之船,即乘上風攻之,炮破其頭鼻,船遂欹側,夷兵多溺,圍攻良久,夷船鉛彈已盡,僅放空炮,他處夷船以小舟十餘來圍馬辰船,小舟炮低,止中我船外之木排,內有鹽糖包無損,我船齊開子炮,斷賊繩纜,不能駛進,夷帥乘我兵與他舟相持,即乘間竄遁,撈獲夷屍十餘,軍器數十件,旗一。初七日奏,遂奉殺人滅口之嚴旨。蓋定海失守後,浙江巡撫烏爾恭額、提督祝廷彪,束手無策。朝廷以定海孤懸海中,非海道舟師,不能恢複,而水戰又夷艘所長,且承平日久,沿海恐其衝突,已有蜚語上聞,言上年廣東繳煙,先許價買,而後負約,以致激變者。又有言鄧廷楨廈門軍報不實者。