虎門位於中國廣東珠江口內,曆來是兵家必爭之地。在虎門附近築有南山、鎮遠、威遠、靖遠4座炮台,在珠江中的上橫檔、永安炮台,另在虎門上遊還有大虎山、鞏固、蕉門諸炮台。
1841年1月,道光皇帝得知沙角、大角兩炮台失守和英軍占據香港後,十分震怒,下旨對英作戰,並征調湖南、四川、貴州、江西等省兵丁趕往廣東。
2月中旬,英軍探知清廷已在調兵遣將的消息後,決定先發製人,搶在中國援兵到達廣東之前進攻虎門和廣州。2月19日,英軍艦船在虎門口集結,作臨戰準備和周密偵察,發現清軍在下橫檔島尚未設防。於是,英船“複仇神”號帶領舢舨隊於23日衝進三門口內,破除了攔江木柵。25日下午,“複仇神”號又將由150名步兵組成的掩護隊和攜帶3門臼炮的炮兵隊運到下橫檔島,並在島上架起了火炮。
2月26日晨,下橫檔島上的英軍首先開炮射擊,壓製橫檔、永安兩炮台。英國軍艦“威裏士厘”號、“前鋒”號、“鱷魚”號、“硫磺”號等,趁上午漲潮時從西航道逆流而上,炮擊橫檔和永安炮台,並壓製蘆灣山上的鞏固炮台。約於13時30分,“複仇神”號和“馬達加斯加”號2艘英國艦船運送登陸兵迂回到上橫檔島的後麵順利上岸。經過激戰,守軍300餘人傷亡,一部被俘,少數人突圍,永安、橫檔兩炮台被敵占領。
與此同時,有6艘英軍艦船進攻東岸。由於風潮不順,直到11時30分,2艘最大的英艦才乘漲潮之機抵達距岸約500米處,以右舷炮射擊威遠、靖遠炮台,其他敵艦炮擊鎮遠、南山等炮台。廣東水師提督關天培在靖遠炮台指揮士兵沉著還擊。英軍士兵在艦炮的有力掩護下開始登岸,並從側後攻擊炮台。守軍堅持一個半小時後,鎮遠炮台首先不支,開始潰退;接著,靖遠、威遠兩炮台也先後失陷。關天培雖“創痕遍體,血透衣襟”,但仍奮力殺敵,終因力戰不敵而壯烈犧牲。
當日16時許,另一部英軍開始進攻西岸的鞏固炮台,守軍未予認真抵抗就四散逃命。英軍攻占炮台後,將其炸毀。至此,虎門、橫檔地區的炮台除大虎山外全部失守。英軍還派汽艇排除了江中木樁,切斷了鐵鏈,疏通了航道。
2月27日,英國軍艦“加略普”號、“前鋒”號、“鱷魚”號、“摩底士底”號、“硫磺”號以及兩艘汽船溯江而上,大虎山炮台守軍不戰自棄。英軍長驅直入,中午就開始進攻烏湧炮台。該地守軍1600人在湖南提督祥福率領下奮力抵抗,但因江水上漲,炮位多數被淹,隻得用鳥槍射擊。後彈藥用盡,祥福以下500餘名官兵戰死,其餘潰散。英軍奪占烏湧炮台後,在其附近江麵停泊的40艘中國兵船也被英艦擊敗,林則徐主持購置並精心改造的大型戰艦“截殺”號也成了英軍的戰利品。
3月2日,英軍攻占獵德炮台;3日,又占定功炮台。英艦在二沙尾、大黃滘遊弋,嚴重威脅廣州的安全。