自永乐元年(1403年)定北平为北京后,朱棣就打算迁都。于是,他派人修凿运河,治理洪水,使明朝的经济得到了飞速的发展。当时国库殷实,每年赋粮除输送京师数百万石外,各地府县还仓储很多。但此时,日本的倭寇气焰非常嚣张,他们经常劫掠沿海的商船和百姓。早在元世祖忽必烈时期,元朝就曾派遣十万人的远征队讨伐日本,可半途遭遇风暴全军覆没。明朝时,日本处于南北分裂的状态,南方的势力经常在明朝沿海地区为非作歹。朱元璋曾经警告过日本政府,可日本人置若罔闻。面对狂妄的倭寇,朱棣毫不手软,他先后派遣重兵剿灭倭寇,给予沉重的打击,使得中国沿海的治安得到了明显的改善。
话说元顺帝逃往漠北后,于洪武五年(1370年)死于应昌。又过了几代,蒙古贵族便分裂为鞑靼、瓦剌和兀良哈三部。三部中以鞑靼部最强。他们不时侵扰明朝边境。朱元璋一边同蒙古贵族通好,一边也采取积极的防御政策,从嘉峪关起,沿长城进入辽东至鸭绿江一线,建立起九年边防重镇,即“九边”。明成祖继位后,沿袭了朱元璋的刚柔相济政策,并在永乐七年(1409年)、永乐八年(1410年),先后派出十万、五十万大军北征鞑靼;八年的那次还是御驾亲征。两次远征,这才降服鞑靼,使它每年向明朝进贡马匹。当然,明朝也还以丰厚的赏赐,并封其首领阿鲁台为宁王。
鞑靼称臣后,瓦剌部开始强盛起来,并屯兵北边,构成强大的威胁态势。于是,朱棣决定再次亲征,征服瓦剌部落。永乐十二年(1414年),明朝大军开赴边疆,于当年六月到达三峡口(今内蒙古多伦西北)。朱棣经过严密地勘查,得知敌人就在附近,于是下令全军严阵以待。当明军走到忽兰忽失温(今蒙古乌兰巴托东)时,朱棣忽然望见前方尘土飞扬,原来答里巴和玛哈木共乘一辆战车,指挥千军万马杀将过来。朱棣立即让明军兵分三路冲入敌阵,然后以火炮助攻。蒙古骑兵并非不堪一击,他们骁勇善战,没让明军占到一点儿便宜。朱棣见战势不太明朗,当即亲自带头杀进敌阵。皇帝一马当先,将士怎能袖手旁观?于是,明军犹如龙腾虎跃,顷刻间扭转了战争的局势。玛哈木一败涂地落荒而逃,朱棣带兵穷追猛打。最后在皇孙朱瞻基的劝阻下,朱棣才停止了追赶,下令回京。
玛哈木遭受了重创,只得向明朝俯首称臣。但阿鲁台与玛哈木向来不和,二人经常在朱棣面前互相诋毁。朱棣想利用他们的矛盾,让两个部落相互牵制,所以对这些诽谤半答不理。不久,玛哈木病逝,他儿子脱欢继位后照样向明朝上贡。阿鲁台没有了对手,逐渐嚣张起来,他非但不按时进贡,而且还扣留明朝的使臣,带兵在明朝边境兴风作浪。朱棣认为如果不趁早征服蒙古贵族,那么必将会留下后患,所以不顾大臣的反对,于永乐十八年(1420年)九月,定明年正月迁都北京,改北京为京师,现京师为南京。此时北京宫殿的营建以及北京城的改造已经完成。然而,很多大臣考虑到迁都后北京附近的粮草不足以供养明朝的大军,所以兵部尚书方宾、刑部尚书吴中和户部尚书夏原吉纷纷进言,阻止朱棣迁都。朱棣当然不会听从他们的意见,而这几位大臣也自然逃不过牢狱之灾。随后,朱棣吩咐侍郎张本想尽一切办法,征集到足够的军粮。
永乐二十年(1422年),朱棣再次亲征蒙古。这一次,明军仅运输粮草一项,就用驴子达三十四万匹,车十七万七千五百多辆,民夫二十三万五千多人,共运载粮食三十七万石,耗费了国家大量人力、财力、物力。当然,这同时也可见永乐朝国力的强大。这与朱棣连续派出远洋的船队扬威西洋是一致的。且说朱棣亲率明军到达鸡鸣山(今河北怀来北),听说阿噜台已经往北逃窜,于是众将士建议大军深入敌后,给予敌人以致命一击。朱棣深知阿鲁台诡计多端,所以下令军队从开平(在今内蒙古多伦县境)出发,经过应昌,出其不意,直捣敌人的总部。当年六月,明军抵达应昌,阿鲁台看见大军前来,又继续逃跑。朱棣老谋深算地说:“他逃走不假,但是为了避免他耍花招,我们应该烧毁他留下的军粮,然后转攻兀良哈三卫。”兀良哈三卫是明朝在东北设立的三个自治区,分为朵颜卫、泰宁卫和福余卫。
阿鲁台到达兀良哈三卫后,三卫的首领都表示愿意助他一臂之力。这时,朱棣分析战况说:“阿鲁台此时逃之夭夭,恰好孤立了兀良哈,我们趁机将他一举击破。”随即明军兵分五路合围兀良哈。兀良哈带领数万人马来到屈裂儿河(今洮儿河上游支流),结果不慎陷入了沼泽地,朱棣见势指挥骑兵杀去。兀良哈的部队乱了阵脚,顿时溃不成军。此时,早已埋伏在树林中的明军弩手也扣动了扳机,瞬间万箭齐发,只听得战场上马的嘶鸣和人的惨叫声此起彼伏。明军一鼓作气,一举捣毁了兀良哈的老巢,朱棣再次凯旋。永乐二十一年(1423年)七月,朱棣听说阿鲁台又带兵前来,于是大笑道:“阿噜台以为我去年已经亲自出马,今年就不会亲征,他实在太小看我了。”说罢朱棣又兴师动众,开始了第三次亲征。明军走到半路,忽然遇到阿鲁台的部下前来投降,并得知阿鲁台已经被瓦剌部落打败,正四处溃逃。朱棣很高兴,命令大军继续前进,明军到达上庄堡时,鞑靼王子也先土于率众前来投降。朱棣大喜,当即封也先土于为忠勇王,赐名“金忠”,随后带军南归。
永乐二十二年(1424年),朱棣听说阿鲁台再次来犯,忠勇王金忠请成祖发兵,自愿为前锋拼死效力,于是朱棣于四月间开始了第四次亲征。这一次,朱棣费尽周折,跋山涉水、穷搜山谷就是找不到阿鲁台的踪迹,最后只好无奈地说:“大军出塞,人困马乏,而且粮草也有限,那就暂且退兵吧?”他六月班师,七月又再出漠北。在此次,也是第五次远征返回途中,朱棣忽然在榆木川(今内蒙古多伦西北)病倒,夜不安寐,偶一闭目,便看见无数冤魂野鬼前来向他索命。待到清醒,他知道自己剩下的时间不多了,于是叫来英国公张辅,嘱咐后命,遗诏传位给太子朱高炽。不久,朱棣在病痛的折磨中停止了呼吸,终年六十五岁,尊谥文皇帝,庙号太宗(至嘉靖十七年,复改庙号为成祖),丧礼一如高皇帝遗制。朱棣死后,太子朱高炽在当年八月继位,改明年为洪熙元年,史称明仁宗。