滹沱河之战发生于明建文三年闰三月,在靖难之役中,燕王军与建文帝军吴杰、平安部在滹沱河地区(在今河北境内)的作战。

1401年(明建文三年)闰三月,燕王朱棣于夹河战败大将军盛席所部后,挥师西向,进攻真定(今河北正定)的副将军吴杰和右军都督佥事平安部,为使吴杰等人率部离开城池,失其所据,燕王设调虎离山之计,将其诱至滹沱河南岸。初七日,燕师渡河西行20里,与吴杰等部遇于藁城(今属河北)。朱棣为牵制对方,率数十骑逼近其营地屯驻。次日,吴杰等部列方阵于西南,朱棣以少量兵力攻其三面,意在牵制,而亲率主力进攻东北隅,突入其阵,遭到吴杰等部的拚命反击,死伤甚众。幸遇狂风大作,尘沙飞扬,燕师得以乘机进击,吴杰等部溃败。朱棣督师四面围攻,斩首6万余级。追至真定城下,再擒其骁将邓戬、陈鹏等人。吴杰、平安敛军入城拒守。

建文元年(1399年)七月,朱棣反书至南京,朱允炆祭告太庙,削朱棣宗室属籍,废为庶人。决定起兵讨燕。在真定(今河北正定)设置平燕布政司。

朱棣初起兵时,燕军只据北平一隅之地,势小力弱,朝廷则在各方面都占压倒性优势。所以战争初期,朝廷拟以优势兵力,分进合击,将燕军围歼于北平。朱棣采取内线作战,以部将郭资戍守北平(今北京),迅速即攻取了北平以北的居庸关、怀来、密云和以东的蓟州、遵化、永平(今河北卢龙)等州县,扫平了北平的外围,排除了后顾之忧,便于从容对付朝廷的问罪之师。经过朱元璋大肆杀戮功臣宿将之后,朝廷也无将可用,朱允炆只好起用年近古稀的幸存老将长兴侯耿炳文为大将军,驸马都尉李坚为左副将军,都督宁忠为右副将军,率军13万伐燕,数路并进,号称百万大军,同时传檄山东、河南、山西三省供给军饷。耿炳文率军在八月十三日到达真定,并分兵于河间、鄚州(河北任丘北约30里)、雄县,为犄角之势。在经过观察后,八月十五日,燕军趁中秋夜敌军不备,偷袭雄县;成功后又利用伏击击败了鄚州的援兵,遂攻克鄚州,收编剩余的部队。

耿炳文部将张保来降,告知朱棣耿炳文的部队分驻滹沱河两岸,于是朱棣让他回去告诉耿炳文“雄县、鄚州大败,燕兵将至”,以打击其士气,并使耿炳文合兵一处,便于一举击溃。耿炳文果然将南岸的兵调过河。八月二十四日,燕军到达无极县。从樵夫和南军被俘士兵处得知敌情,于是燕军发动决战。

建文元年(1399年)八月,南军师至河北滹沱河地区。燕王在中秋夜乘南军饮酒作乐之机,突破雄县,尽克南军的先头部队。继而又于滹沱河北岸大败南军的主力部队。耿炳文逃入真定城中,闭门固守。燕军攻城三日不克,还师北平。耿炳文率残部不到十万人在真定坚守不出,燕军攻城三天不克。八月二十九日,燕军返回北平。顾成降燕之后,留在北平协助燕世子朱高炽守城。