7月29日,英法联军共2万余人分乘206艘舰船驶抵北塘与大沽之间的海面。8月1日,1.8万名英法联军部队携带大炮、弹药和其他军需物资,毫不费力地在北塘登陆,占据炮台。8月2日,英法联军占领北塘镇,大肆奸淫掳掠,北塘镇幸存居民逃亡一空。8月12日,英法联军向新河方向推进,企图抄袭大沽炮台后路,途中遭到2000余名清军骑兵的冲锋攻击。英法联军乃以最新式的枪炮齐向清军骑兵,一次次地进行齐射,炮队也架起火炮猛轰清军,结果清军骑兵大部被敌歼灭。新河于当日被联军攻占。
8月14日,英法联军主力复由新河出发,向大沽炮台侧后重要屏障塘沽进攻。清守军虽经奋力抗击,但因装备过差,人数太少,不能对敌实施有效反击。当天,英法联军占领塘沽。至此,大沽北岸炮台的侧后完全暴露在联军的攻击之下,英法联军既定的登陆作战计划几乎全盘实现,而僧格林沁所谓的诱敌深入、聚而歼之的构想全盘落空。当此形势危急之时,僧格林沁坚守之心开始动摇,向咸丰帝奏称能否扼守,实无把握。8月15日,咸丰帝传谕僧格林沁:“如果无可支撑,惟当设法酌撤……驰赴天津扼要守御,以固京师门户。”同一天,咸丰帝还在另旨特谕僧格林沁称:“惟在下根本,不在海口,实在京师,若稍有挫失,总须带兵退守津郡,设法迎头自北而南截剿,万不可寄身命于炮台。切要,切要!以国家倚赖之身,与丑夷拼命,太不值矣!”同时,他力促僧格林沁自大沽后撤:“朕为汝思之,身为统帅,固难言擅自离营,今有朱笔特旨,并非自己畏葸,有何顾忌?若执意不念大局,只了一身之计,殊属有负朕心。”关键时刻,咸丰帝非但不令三军统帅坚守抗敌,反而急令保命脱逃,可谓荒唐之至。21日晨,已被孤立的大沽北岸三座炮台同时遭到英法联军的野战炮和舰炮的猛烈轰击,直隶提督乐善率守军发炮反击,但不久各台弹药库相继中炮爆炸。上午8时许,联军登陆部队开始向炮台发起冲锋,乐善指挥守军以鸟枪、抬枪、长矛、大刀、弓箭等落后装备,与敌军展开激烈肉搏。激战之中,乐善阵亡,守军伤亡惨重,各炮台遂相率失守。当晚,僧格林沁尽撤南岸炮台守军,退向天津。英法联军旋即于次日占领南岸三座炮台。僧格林沁自大沽撤守后,不愿与联军在天津决战。他上奏咸丰帝,认为“天津实无防守之法”,主张弃守天津,“驻兵通州,以固京师”。此时,咸丰帝正准备与英、法妥协会谈,便同意由僧格林沁率兵驻守通州。8月24日,贺布率一支联军部队驶抵天津城郊。8月25日,直隶总督恒福亲至贺布船上,邀其进入天津。接着,联军后续部队陆续到达,天津即被英法联军占领。