7月14日下午,英军摧毁镇江东面五十里的圌山关炮台。之后,因风小暂停西进,只派测量船继续上驶,进行侦察。
17日,大队英舰进入镇江江面,随即封锁瓜洲运河北口,阻断漕运。
镇江位于长江和运河的交汇处,是运河的咽喉,江宁的屏障。
镇江城雄峙长江南岸,西北有金山,东北有北固山、焦山、象山。战前,由副都统海龄率旗兵一千六百名、绿营兵四百名驻守。
城内大炮因已大多调运吴淞,仅留下数门。
英军侵占吴淞后,四川提督齐慎带江西兵千余名、湖北提督刘允孝带湖北兵千余名仓卒赶到,驻扎城外,协助防守。
英军进攻吴淞时,主要由海军担任,这次进攻镇江,则主要由六千余名陆军负责。
7月21日晨,英军开始进攻。右翼的第一、第三旅和炮兵旅在镇江西北的金山附近未遭抵抗即顺利登陆。
第一旅上岸后,为分割城内外清军,直指西南山坡上的清军兵营。经过数小时激战,清军不支,齐慎、刘允孝率部退往新丰镇(今江苏丹阳北)。
英军第三旅登岸后,则沿着西城根,直指西门。
与此同时,英军第二旅在北固山一带登岸,直扑城下,冒着清军的炮火,蜂拥爬梯登城。
守城旗兵誓死抵抗,有的把敌人推下城去,有的扭住敌人一起跳下城墙。上午10时许,北门被打开,大队英军冲入城内,向西门方向进攻。
进攻西门的英军第三旅遭到清军的顽强抗击,城门久攻不下。
中午,英军一个爆破小队在炮火掩护下,用三个火药包(火药一百六十磅)将瓮城门炸开。此时,由北门冲向西门的英军已将内城门打开,于是大队英军由西门蜂拥而入。
守城清军节节抵抗,与敌人展开巷战和肉搏战。许多旗兵宁死不屈,有的杀死自己的妻儿,然后与敌人拚死搏斗,直至牺牲