虎门位于中国广东珠江口内,历来是兵家必争之地。在虎门附近筑有南山、镇远、威远、靖远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日,又占定功炮台。英舰在二沙尾、大黄滘游弋,严重威胁广州的安全。