英國軍隊的惡劣行為,使得廣大民眾義憤填膺,各地團練共圖抵抗。
29日,三元裏村民和虎門真武大帝廟的工人會合,一起襲擊來村子洗劫的小股英軍,三元裏民眾料到英軍必會報複,所以在三元古廟集合,相約以廟中“三星旗”作為指揮戰鬥的令旗,宣誓“旗進人進,旗退人退,打死無怨”。
在虎門之戰,負傷修養的千總:黎誌安,聽聞洋人劫掠鄉間,開棺暴骨的變態行徑,帶傷出麵,聯絡附近103個鄉的群眾集會。
會後,他們分頭聯絡附近103鄉的群眾,準備共同戰鬥。
次日,南海﹑番禺百餘村團練手持戈矛犁鋤,群起圍困永康台。
相持近半日,英軍陸軍戰隊司令,喬治?懿律親自帶兵出擊。團練且戰且退,誘敵至牛欄岡丘陵地帶。時大雨驟至,英軍火槍受潮不能發射(印度雇傭兵,英方給他們裝備的是比較落後的燧發槍,一遇雨淋便不能使用),黎誌安帶著團練民眾冒雨反擊,將英軍分割包圍,肉搏鏖戰。
追擊過程中,英軍第三十七團的一個連(150人)被義軍截至稻田中,三四十名印度雇傭兵被刀砍斃傷。
英軍艦船上的世界議會準將:南丁格爾,聽聞這個消息,派出兩個水兵連,帶著“雷管槍”(先進燧發槍,封閉性好,不怕雨天)前來增援。被圍困兩小時之後,英軍撤退至四方炮台。
5月29日,一小股從虎門出發的英軍,又竄到三元裏村進行搶掠,放火燒毀田地。村民奮起搏鬥,打死英軍數名。
5月30日清晨,三元裏及各鄉群眾數千人,手持鋤頭、鐵鍬、木棍、刀矛、石錘、鳥槍,向英軍盤踞的四方炮台挺進佯攻。英軍司令喬治?懿律率領侵略軍負隅頑抗。
在戰鬥中,群眾按計劃且戰且退。
據參與此次戰役的英軍記載說:“我們(英軍自稱)的炮彈繼續對著他們的隊伍一行一行地推過去,他們仍然沒有什麼畏懼的表現,搖動著旗幟和盾牌,引誘我們向前進。”
也許是廣東炎熱潮濕的天氣和糟糕是住宿條件,使得喬治?懿律古氣急敗壞,喪失了一個將領基本的理智。
他命令英軍追擊。黎誌安帶著農民群眾牽著驕橫愚蠢的敵軍的鼻子到達牛欄岡附近,忽然戰鼓擂響,埋伏四周的七八千武裝農民猛衝出來,將敵人團團圍困。
此時旌旗蔽野,殺聲震天,婦女兒童也上陣助威,為各鄉的農民戰士送飯,虎門挖掘工地的百餘名工人也聞聲趕來,參加戰鬥。各鄉群眾愈來愈多,英軍急忙開槍射擊,但擋不住武裝群眾的洪流。
喬治?懿律此時才恢複了理智,指揮部下分兩路突圍。黎誌安看穿了英國人的企圖,帶領著武裝群眾當即從兩翼包圍英軍後路,並趁他們渡河和單列行進的有利時機,衝上前去肉搏。
據喬治?懿律給英國國會的報告,戰死15人,受傷523人。