在英军发动对广州城市的进攻时,由于缺乏现代传媒手段,当地的普通百姓不可能立即获悉战争的胜负情况。但他们慢慢地通过自己的感观觉察出谁占了上风,谁处于不利。在英军据有广州城北、肆虐各处后,当地民众立即以朴素的保家情结集合在一起,上演了一出让时人和今人同为赞叹的反侵略、反骚扰的活剧。
19世纪30年代的广州近郊农村是军事化程度较高的地区。为对付出没无穷的“劫盗”,有声望的士绅纷纷在本地办团练、组乡勇。有的士绅在此时还开始插手本地的行政事务。30年代后期的中英摩擦和林则徐为对付英舰骚扰在近郊农村号召组织义勇,为业已存在的团练组织提供了合法存在的依据。这些士绅和团练是后来三元里发生抗英事件的社会基础。
英军占领城北一带炮台后,经常到附近地方去骚扰。泥城、西林、三元里、萧冈等村落是他们经常出没的地方。他们劫夺食物、奸污妇女、盗掘坟墓,无恶不作,激起了当地包括士绅在内的乡民的极大愤慨。5月29日,小股英军又窜到三元里抢劫奸淫,遭到村民的抵抗。
当地百姓担心英军报复,也为应对英军再次窜犯,提出组织对付的动议。萧冈乡举人何玉成,即柬传东北南海、番禺、增城联络诸村,各备丁壮出护。这一号召得到了附近乡村百姓的支持,他们迅速拿着简单的器具向三元里集结。乡民推举当地的士绅为领事,相约击鼓进兵,敲锣退兵,并议将英军诱入地形复杂的牛栏冈(三元里以北丘陵),相机击杀。
5月30日晨,三元里及各乡群众数千人,手持锄头、铁锹、木棍、刀矛、石锤、鸟枪,向英军盘踞的四方炮台发起佯攻。英军司令卧乌古率守军抗拒。乡民不断用石头、泥块投掷英军,英军向群众开枪。乡民且战且退,卧乌古令英军追击,一直追至牛栏冈。正当敌人试图辨明方向时,忽听四周鼓声齐响,埋伏于四处的乡民与佯攻的乡民一起围攻过来。据一位参与其事的人估计,当时参与围攻英军的乡民不下数万人。
面对众多的乡民,惊恐万状的英军正准备开枪射击,突围逃跑,但天不相助,突然下起大雨,火药尽湿,无法开枪。乡民乘机从两翼包抄,迫使英军后撤。乡民乘势追击,用长矛和钩镰刺死英军5人,刺伤数十人。在追击过程中,一路乡民截住了一连英军,约60余人,并将他们包围于稻田之中。乡民又用刀矛杀死、杀伤英军数人。英军大队直至退回阵地才发现有一个连失踪,于是派出两连英军,全部武装雷管枪,前去搜寻,直至天黑才把该连找回。
受到前一日形势鼓励的乡民,5月31日包围了四方炮台。此次集合了更多百姓,有的从佛山、增城、花县等地赶来。面对如林的刀矛和四起的喊杀之声,义律无计可施,遂派人混出重围,找到广州知府余保纯,威胁说:既已达成停战协定,广州当局如不派人制止乡民的活动,英军将“立刻扯下休战旗帜,恢复敌对行动”。
余保纯立即把这一情况向奕山、杨芳作了报告。早已无心战斗的奕山,急令余保纯赴四方炮台,一方面向被围英军解释乡民行动他们全然不知,也是违背他们的旨意的;另一方面又对三元里等地的出头绅民进行威吓、诱骗,要他们速让乡民散去,否则追究责任。士绅是既得利益者,他们与官府有着比普通百姓更密切的利益关系。在官府的诱吓下,士绅首先潜避。几个时辰以后,整个乡民队伍也渐次散去,英军得以解围。
三元里抗击英军事件是当时东南沿海军民抗英斗争的一个插曲,其意义不在于杀死多少英军,打伤多少英军,而在于它是近代中国百姓在外来侵略面前体认家国的开始,触发了早期的近代民族主义。它作为古典爱国主义的终结和近代爱国主义的开端而载入近代史册。