龙武二十一年春,太子率师北伐。
偽齐帝陈珂遣大将张弘范率八万军阻于睢阳。
太子分兵袭其粮道,自领精卒夜渡汜水。
破敌七寨,斩首万余。
张弘范退守开封,献城降桀。
太子令掘地道焚其粮仓,城陷。
执张弘范,槛送京师。
二十二年夏,战于陈留。
偽齐联合北桀右卫,设伏困王师。
太子佯退三十里,诱敌出城。
回师反攻,三日拔十七寨。
右卫军尉阿术单骑遁走,损兵六千。
二十三年秋,收复洛州。
偽齐丞相王澮挟民十万北逃。
太子令轻骑追截于孟津。
尽获其眾,斩王澮于黄河畔。
是岁,河北义军纷起响应。
二十四年冬,北桀增兵河南。
遣高山卫、左卫合兵七万来犯。
太子据虎牢关坚守月余。
伺敌粮尽,开关突击。
左卫军尉禿鲁花中箭殞命,高山卫退守邙山。
二十五年春,决战邙山。
偽齐残部与高山卫据险死守。
太子亲率死士千人攀崖夜袭。
焚其大营,斩将二十一员。
高山卫副尉忽察儿自焚,余眾尽降。
二十六年秋,光复汴梁。
偽齐帝陈珂服毒殉国。
太子令收葬前朝宗室遗骨,修葺皇陵。
北桀遣使议和,求划黄河为界。
太子斩使焚书,整军北进。
二十七年冬,会战长安。
北桀大将古达率本部护卫并高山卫、右卫余部,合兵十万围城。
时太子仅余二万守军。
粮草将尽,乃取渭水混泥沙为炊。
正月甲子,古达驱降卒为前阵,架云车百具攻城。
太子命撤下城头旌旗,示弱诱敌。
待桀军登城过半,突发震天雷轰击。
古达急令右卫驰援,遭伏兵截杀。