崇禎帝任命多位官員,協理京營戎政,練兵籌餉,料理守御。但北京已有多年沒有經歷過戰爭,這導致城防疏薄單弱。
京門初戰首先在德勝門外打響,城外明軍,主要是大同總兵滿桂和宣府總兵侯世祿的勤王部隊,另外參加戰斗的還有城上的衛戍部隊。
十一月二十日,皇太極親率大貝勒代善和貝勒濟爾哈朗、岳托、都鐸、薩哈廉等,統領滿洲右翼四旗,以及右翼蒙古兵,向滿桂和侯世祿的部隊發起猛攻。
后金軍先發炮轟擊。發炮完成,蒙古兵及正紅旗護軍從西面突擊,正黃旗護軍從旁沖殺。不久,侯世祿兵被擊潰,滿桂率軍獨前搏戰。
城上明兵,發炮配合,但誤傷滿桂官兵,死傷慘重。滿桂身上多處負傷,帶敗兵一百多人在城外關帝廟中休整。
第二天,守軍打開德勝門的甕城,供滿桂的殘兵休養。
就在德勝門發生激戰的同時,后金又命蒙古爾泰“以護軍及蒙古兵兩千”往攻廣渠門。
袁崇煥即令都司戴承恩據守廣渠門,祖大壽布陣于南面、王承胤防守西北,而袁崇煥本部自己扎營西面以待敵。
午刻,后金直撲祖大壽堅守之陣地,明軍奮力抵抗,祖大壽部潰。
領頭的豪格誤以為祖大壽詐敗,遂直接以“主力”進攻北邊的王承胤所部,而王承胤沒有乘機進取,見后金大股而來,反而向南潰散。
后金原本打算令額真、阿巴泰、阿濟格、多爾袞、豪格等全力攻擊北邊的王承胤,實際上只有豪格一軍遵令行事,阿巴泰、阿濟格、多爾袞違令攻擊中路的袁崇煥本軍,這樣,往南潰退的王承胤軍和袁崇煥本軍攪在了一起,與后金爆發了混戰,仗打的異常激烈。
統帥袁崇煥也上陣拼殺,差點身歷險境,戰斗中,一敵兵揮刀砍向袁崇煥,幸好旁邊袁升高以刀相隔,袁崇煥才幸免于難。
此時,南面的祖大壽也奮力向前,攻擊金兵側翼,后金兵遭到夾擊,抵擋不住,當即潰敗而去。
明軍立刻追剿而去,游擊劉應國、羅景榮、千總竇浚等追敵于運河邊,后金急忙擁渡,不料踩陷堅冰,淹死很多。
十一月二十三日,崇禎帝于紫禁城平臺召見袁崇煥、祖大壽、滿桂、黑云龍等,袁崇煥向崇禎帝提出,連日征戰,士馬疲憊不堪,請求援引滿桂所部進入德勝門甕城的先例,準予所部官兵進到城內,稍事休整,補充給養。
崇禎帝拒絕了他的請求。袁崇煥軍只得繼續在北京城外露宿,同皇太極軍進行野戰。
十一月二十四日,皇太極因在廣渠門作戰失利,發表“養精蓄銳”的話語后,移軍南海子(南苑),在此一面休養一面牧放馬匹,伺機再攻。
二十七日,雙方激戰于左安門外。皇太極對袁崇煥不能戰勝,便施用“反間計”,陷害袁崇煥。
北京城外的勛戚大臣等人對袁崇煥極度不滿,紛紛向朝廷告狀:“袁崇煥名為入援,卻聽任后金軍劫掠焚燒民舍,不敢前去阻攔,城外的外戚勛臣的莊園土地被后金軍蹂躪殆盡。”
崇禎帝因此逮其下獄,總兵祖大壽見袁崇煥遭下獄,率師1.5萬人離京東返,后因孫承宗調度有方,才停兵待命。
崇禎帝聽說各路兵敗,準備撤出京師,被朝臣勸阻。
此后,充任文武經略的尚書梁廷棟及滿桂相繼敗于西直門、安定門,滿桂戰死。