伴随着义和团运动轰轰烈烈的发展,京师的各国公使感到自身安全受到严重的威胁,认为清政府已经不能起到保护的作用。西摩联军应京师公使的请求,于6月10日从天津出发企图武力进京。西摩联军一行2000多人一边行军一边修复被义和团破坏的铁路,行军速度十分缓慢。

6月12日,西摩联军在廊坊受到义和团的围追堵截,行动受阻。聂士成此时奉命调集所部在天津附近铁道一带地方扼要驻扎防止联军进兵京师,并开始进攻火车站,西摩进退两难。16日晩西摩决定放弃铁路沿着运河撤退,沿途受到义和团和清军"尽为截击,联军受创不小",接近弹尽粮绝。清军尾随联军不断的打击,迫使西摩联军最终放弃了进京的计划。

在西摩联军向京师进军的时候,大沾口外的联军海军借口大沾的布防对联军剿办拳匪甚为不便,要求大沾炮台守将罗荣光于17日凌晨2点之前让出炮台,否则以武力攻取。大沽口炮台是华北口户,一直以来都是清政府的海防的重点。炮台由4座子炮台组成,分别为西北炮台,北炮台、南炮台和新炮台,配置了大量武器。

17日零时50分,双方发生炮战。大沽守军顽强抵抗,但是从塘沽出发的援军从背后袭击清军,清军的阵地为硬土制造无法防御联军的炮火轰击,守军损失惨重。4时,联军炮火击中了西北炮台的军火库,西北炮台宫兵大部牺牲,联军涌入炮台。在海陆的双重夹击下,罗荣光不敌撤退,大沽沦陷,京津口户洞开,海疆屏障顿失。

联军提前对大沽进行了侦查,对各炮台的火力、位置十分清楚。联军提前派出了登陆部队从背后袭击炮台,导致清军腹背受敌。从中方来说主要是以下原因造成:在战略上,荣禄把主要的精为布置在天津,在接到罗荣光増兵请求后以"力顾京津"为由没有派兵支援。

其次,炮台清军仓促应战,准备不充分。联军的军舰早在5月就在大沽外游戈,但是罗荣光直到6月16日才开始在沽口外布置水雷。最后,炮台建设不合理,大沽口作为海防重地,炮台的外墙是硬土制造,无法对守军提供有效的保护。此外,军火放畳太过随意,连续两次被联军击中军火库,导致重大伤亡。

联军占领大沽的消息传到京师,清政府对外宣战。清军和义和团开始向使馆区进攻,但是清军以保卫为主,并没有全力进取打打停停。清政府劝说各位公使撤退到天津,甚至于在停战期间向使馆运送西瓜蔬菜以示慰问。直到京师沦陷前,清军才发动报复性地攻击,但为时已晚。

在50多天的时间里,清军和义和团联合进攻月余,刚毅甚至亲自督战,只有几百人守卫的使馆久攻不下,除了清军和义和团作战不利外,最主要的原因是清政府并没有打算攻占它,只是将行动看成是促成和谈的筹码而已。

天津失陷后,退出的清军急忙在运河沿岸的北仓、杨村、河西务等地组织防御。在北仓当时清军的布防军队约两万人由马玉昆指挥,于北仓以南横跨运河构筑了两道防御阵地。第一道防线有9000人防守,在刘家摆渡、韩家树等地构筑了火炮阵地,埋设了地雷。第二道防线由北仓王庄为中心,修筑了3公里长的垒墙,并埋设地雷,约5000人驻守。

正在联军逼近,清军大溃退之际,新任帮办武卫军务大臣李秉衡受命于危难之际,节制张、陈、夏、万四支勤王军布防于河西务御敌。8月7日,李秉衡令张春发部10营、万本华部4营防守河西务,陈泽霖部10营驻守河西务西侧,自己坐镇河西务西北的羊房节制夏辛酉部6营。9日,当李秉衡尚未到达河西务时,联军已向驻守河西务的张、万两部发动进攻,火力猛烈,"炮子如雨"。

此时马玉昆带领的北合败退清军路过此地,李秉衡请求对方整兵再战,但是马玉昆已经失去了继续抵抗的勇气。勤王各军出发匆忙枪弹缺乏又没有大炮,河西务很快失守,李秉衡退到张家湾自杀殉国。此时的清军已经成了惊弓之鸟,丧失了抗击敌人的勇气与信心。

清军的防御也是消极防御,单纯的线式防御,没有布置机动兵为伺机袭击敌人的后方或侧翼,也没有战略预备队图持久作战,更没有利用优势袭击敌人的运输线使其不敢长驱直入。京师之战是八国联军解救使馆的最后一战,当时清军驻守京师的大约有八万人。

宋庆、马玉昆部残兵一万余人驻守南苑;董福祥的武卫后军驻守东城墙上的广渠门、东直门、朝阳口门;荣禄武卫中军30营守西华门、棋盘街;八旗绿营两万余人分守守各门;此外还有神机营25营,虎神营14营近2万人防守各门城楼;八旗前锋和护卫守卫紫禁城。

联军分四路进攻京师,第一路俄军进攻东便门;第二路日军进攻朝阳门;第三路美军沿惠通河沿小道进攻东便门;第四路英军进攻广渠门。俄军、美军、日军都遭到清军的顽强抵抗,伤亡300多人。而正当清军在东便门、朝阳门激战时,董福祥认为联军的进攻只有两路,于是将防守广渠门的清军调走支援,导致英军进攻敌兵防守薄弱的广渠门,只看到了几尊无人看守的大炮,几乎未遇抵抗即进入外城。

英军由下水道进入使馆夺得了解救使馆的头功,只有几人受伤。京师虽有数万清军但除部分军战斗力较强外,总体战斗力不如直隶淮、练军。京师的战斗是一场现代城市战斗,外城失守后各军没有计划地利用熟悉地形的优势开展城市巷战,也没有在主要的街道构筑街垒层层抵抗,更没有利用道路的纵横交错的特点迂回袭击敌人,导致京师外城失陷后联军很快占领全城。