第一次大沽口之战
咸丰八年(1858年)四月,英、法联军全权代表额尔金、葛罗率大小战舰26艘、官兵约2700名麇集驻泊于白河口外。5月20日早晨8点,联军头目向直隶总督谭廷襄提出限两小时撤(交)出大沽口炮台的最后通牒;谭廷襄拒绝联军无理要求;10点整,联军炮舰开始轰击大沽炮台。清军奋起还击,炮火齐鸣,激战两个多小时,共击伤敌舰3艘,打死打伤联军官兵八九十人。清军自己也付出了不小的代价:游击沙春元、都司陈毅、千总常荣恩、刘英魁先后战死,400多名士兵死伤。
由于直隶总督谭廷襄以及提督张殿元、署天津镇总兵达年等领导擅自逃跑,导致守军全军溃散,大沽炮台沦陷。26日,英、法联军进逼天津城下,清廷被迫派大学士桂良、吏部尚书花沙纳前往天津乞和。第一次大沽之战结束。
第二次大沽口之战
咸丰九年(1859年)6月为《天津条约》批准书在帝都北京互换期间,英使布鲁斯、法使布尔布隆、美使华约翰共率大小舰船21艘(其中英舰17艘)、官兵约2000人于20日再次驶抵白河口外,拒不接受清廷允许其由北塘登陆的通知,坚持要用武力打通白河,强行从大沽登陆,再经天津去北京。25日,英军舰队司令霍伯下令对大沽炮台发动突袭,先以舰炮猛轰,继而步兵在南炮台河岸强行登陆。
科尔沁郡王僧格林沁指挥清军奋力抵抗,直隶总督史荣椿、大沽协副将龙汝元身先士卒,率部与侵略军血战一昼夜,共击沉敌舰4艘,击伤多艘,打死打伤英军464名,法军14名,俘虏两名,英舰队司令霍伯身负重伤。英军舰队虽然得到了美国舰艇的支援,但因损失过大,已无力再战,不得不在旗舰上竖起白旗后狼狈撤回海上。清军方面有直隶总督史荣椿、大沽协副将龙汝元及麾下官兵共30多人战死。
第三次大沽口之战
咸丰十年(1860年)北塘之战后,大沽口炮台再次成为英法联军的首要进攻目标。8月19日,数百联军官兵由塘沽迂回至石缝炮台背后,填塞壕沟,准备配合主力作进攻准备,被清军击退。21日清晨5时许,联军集结步骑约万余人由塘沽大举向石缝炮台袭来,海上的战舰也纷纷发炮助攻, 清军在提督乐善的指挥下,拼死反击,坚守阵地,战斗至为激烈。
8点后,炮台火药库忽然被敌方炮弹击中,一阵剧烈的爆炸声后燃起了熊熊大火,联军步兵乘势发起猛攻,清军仍死战不退,与冲进炮台的联军士兵展开了一阵惨烈肉搏战,打死打伤敌军420余人。 直隶提督乐善一直冲锋在前,最终力竭被杀,石缝炮台也随之沦陷。据守南炮台的僧格林沁见大势已去,思忖自己独木难支,下令全军撤退;新任直隶总督恒福在英国驻广州领事巴夏礼的威胁下,被迫交出大沽南炮台及全部军火物资,大沽陷落后,英法联军遂于8月24日占领天津......
联军攻占天津后沿运河进逼北京。清廷被迫重开谈判。因英法索要苛重,天津、通州谈判相继破裂。联军进攻通往北京的要隘张家湾、八里桥,清军连遭挫败。9月22日,咸丰帝仓惶出京逃往热河,留恭王奕䜣为钦差大臣,负责与英法议和。10月13日,英法联军捣入北京城,此后圆明园也被联军抢掠、焚毁。 奕䜣在俄国大使的居中“斡旋”下,于24、25两日分别与额尔金和葛罗签订了中英、中法《北京条约》、《天津条约》批准书同时交换,割地赔款,备极屈辱。同月,英法联军陆续撤离北京,第二次鸦片战争结束。