建文元年(1399年)九月初一,江阴侯吴高率辽东兵攻打永平郡,故朱棣趁李景隆踌躇不决之际,九月十九日前往救援。九月二十五日,朱棣击败吴高,并决定趁势偷袭十七弟宁王朱权的藩地大宁(今内蒙古宁城);另一方面利而诱之,将南军引至“空城”北平下。九月二十八日,朱棣率众出师。传信给燕世子朱高炽,令其坚守北平城。

十月初六日,燕军经小路到达大宁城下。朱棣单骑入城(一说击败守将房宽后入城),见宁王朱权,哭诉自己无路可走,向朱权求救,希望能向朝廷上书,谢罪免死。朱权相信并收留了他。在居大宁期间,朱棣令手下吏士入城结交并贿赂大宁的军官等。十月十三日,朱棣提出告辞,朱权在郊外送行;但朱权来到郊外后,伏兵尽起,大宁军纷纷叛变,归附朱棣。于是朱权与宁王妃、宁王世子等一同随朱棣前往北平,而大宁的全部军队都被朱棣收编。大宁成为空城,朱棣实力大增。

听说燕王朱棣率精锐征大宁,李景隆引军攻北平。南军在郑村坝(今大兴以东二十里)扎营,筑垒同攻北平九门。燕王世子朱高炽坚守。朱高炽遣人夜间偷袭南军大营,获得了一定的喘息时间;南军攻城急时,城中妇女也上城头向下投掷瓦石。

南军唯一一次获胜的机会是都督瞿能攻张掖门(一说彰义门,据《方舆纪要》,彰义门即西直门;存疑),几乎要攻下时,因被李景隆所忌,只得停止。功败垂成。农历十月北平甚是寒冷,于是燕军守城部队夜里汲水浇于城墙上,次日城墙结冰,南军无法攀登。南军因天寒地冻,战斗力骤降,攻势自此受阻。

瞿能破城,让朱高炽大吃一惊,亲自临城审视,见城上平硬可登,忙督士卒汲水灌湿。时正天寒,滴水成冰,一夜寒风,已成冰城,李景隆次日带领数万兵将亲至张液门,见城上冰雪光滑如油,无有容足之处,只得罢兵。瞿能看了,深叹错失良机,而李景隆全不追悔,意想此城破在旦夕。机不可失,失不再来,此时燕王朱棣已扫平外围,班师回援,使李景隆心下着急,速命将士昼夜防守。时正苦寒,军卒立于雪地不得休息,冻死者甚多,用兵大违天时,自毙其众。朱棣分兵五路,连络而进,逼进大营,前部多为边关勇将,锐可不挡,不多时金鼓连天,直压南营,李景隆早已惕怯,见燕军提刀跃马,冲阵而来,众将俱皆退缩,不敢上前,此时只有瞿能、瞿陶父子勇猛过人,纵马出阵,直杀得天惨日昏,个个胆寒,然瞿能苦战多时,见南军众将渐败,主帅无有变通,料想独力难支,遂令儿子瞿陶(或瞿良材),领数百家兵保护李景隆,自己一马当先,杀开一条血路逃回本营,收拾残兵,以待大举。