李景隆,是开国元勋李文忠之子。他不过是个膏粱子弟,从未尝试过习兵见阵,只知道纸上谈兵。朱棣听闻是李景隆出战,心中暗喜起来,对作战也更加有信心了。于是他先出兵永平,引诱李景隆攻北平,而让世子朱高炽留守北平,并告诉他只许守、不许战。很快,朱棣打败了永平守军,进击大宁,并勾结兀良哈三卫渠长,挟迫宁王跟他结成联盟,一起对付李景隆。李景隆没能攻下北平,背后又有朱棣回军的追杀,他一战而败,被逼无奈之下只好退走德州“养精蓄锐”。
建文二年(1400年),朱棣和李景隆在白沟河再次作战。白沟河地理位置特殊,它流经华北平原,在保定与涿县之间。这一次李景隆的作战气势看似比以前强了不少,他率领60万大军列阵等待作战,待朱棣的军队到来,战斗就开始了。第一天的战斗非常激烈,直至深夜,双方才各自收军。这一仗朱棣的军队损失很大,再加之是深夜,打了一整天仗的士兵们竟辨不清东南西北,下马辨别水流,这才找到了回去的路。第二天再战,李景隆的军队气势看起来更盛。而朱棣呢?由于坐骑三次被创,弓矢皆尽,剑锋折缺,马又停滞不前,几乎被官军射尽。就这样,双方鏖战一直到过了中午,忽然刮起了一阵大风,李景隆的官军大将旗被折断了,军阵开始混乱起来。这时候,朱棣带劲骑乘机绕到敌人后方进行袭击,终于反败为胜,李景隆的军队大溃,被斩首及溺死者十余万,横尸百余里。打了败仗的李景隆单骑再一次逃回了德州。后来,朱棣又攻破德州,围攻济南。因为山东参政铁铉也是一名了不起的人物,一直死守济南。朱棣围攻了三个月依旧没能成功,只好暂时退师,决定日后再来攻取。