一向主战的张辅到任后,立即部署进兵,安南人民此时对张辅颇为忌惮,加上明军重兵抵达,局势开始发生有利于明军的变化。张辅到任,首先申明军令,都督黄中素来骄横,屡违节度,张辅斩之以徇,由此官兵惕息,无敢不用命者。7月,明军大破安南将阮景异于月常江,缴获战船百余艘,生擒安南元帅邓宗稷等,又捕斩别将数人。次年8月,安南叛军以战船四百余艘,分作三队,在神投海邀击明军。张辅以锐卒冲其中坚,明军以钩牵连敌船,作殊死战,从中午鏖战至傍晚,大破敌军,乘胜进抵陈季扩的老巢乂安府,安南军民降者相继。
1413年冬,张辅与沐晟会师于顺州,与安南军在爱子江决战。此役,安南兵仍然以象阵为前驱,明军按照张辅的部署,一矢射落象奴,二矢洞穿象鼻,群象皆返奔,自蹂其众。明军裨将杨鸿、韩广、薛聚等人乘势继进,矢落如雨,安南兵大败。1414年1月,明军进至政平州,安南兵残部屯暹蛮、昆蒲诸栅,悬崖侧径狭窄,骑兵不得前进,安南兵遂以为明军必不敢轻进,而张辅却与将校徒步行山箐中,夜四鼓掩至其巢,出其不意大破安南军,擒阮景异、邓容等。陈季扩只身败走老挝,张辅命指挥师佑率兵追击,连破老挝三关,终于在蒙册南磨将陈季扩活捉,与其妻子一起械送京师。至此,安南全部平定,张辅以叛军所占城地,设升、华、思、义四州,增置卫所,留军镇守而还,此时正好是朱棣二征蒙古的前夕。
在明军的武力镇压下,交趾虽然再次平定,但明朝官吏不善于安抚,内部又勾心斗角,安南民心不附,为尔后的变乱埋下了祸根。1418年1月,安南清化府俄乐县土官巡俭黎利召集各部在兰山会盟,起兵抗明,迅速形成了燎原之势,明军无力镇压。1416年,朱棣迁都北京,明朝的经营重点逐渐北移,交趾成为一个沉重的负担。
黎氏王国独立
1414年,张辅第三次平定安南后,明廷召还了黄福,以素有能名的兵部尚书陈洽为交趾布政使和按察使,参赞军务,但朱棣所委的中官马骐贪暴,在安南苛敛金银,陈洽无法制止,而镇守的荣昌伯陈智和都督方政又不睦,以致各地叛乱风起云涌,黎利更是狡黠难制。当时朱棣已死,宣宗瞻基在位,陈洽上疏道:“贼虽乞降,内怀诡诈,党羽渐盛,将不可制。乞谕诸将速灭贼,毋为所饵。”宣宗降旨切责,陈智、方政这才被迫进兵,但败于茶笼州,二人具被削官。黎利起兵后,势力发展很快,转战数省,明军不能制,于是1426年10月,明宣宗命成山侯王通为征夷将军、都督马瑛为参将领兵五万往援,合马骐原驻军十万进行围剿。当时,黎利之弟黎善攻交州城,被明都督陈濬等人打败,11月王通主力赶到,分道出击,参将马瑛在石室县败安南军,王通引军与瑛合,明军进至应平、宁桥。黎利佯败,设伏以待,陈洽以此地形势险恶,恐有伏兵,建议持重缓进。王通自恃兵众不听,麾兵径渡,陷泥淖中。黎利伏兵齐发,明军大败,死者三万余人。刘洽跃马直入阵中,身被数创,左右欲扶还,陈洽怒目吼道:“吾为国大臣,食禄四十年,报国在今日,义不苟生。”挥刀杀数人,自刭而死。
宁桥之役,王通也受了伤,率残兵奔还交州。黎利以重兵围攻乂安,明守将都督蔡福以援军不至,退保东关,千户包宣以其众降于黎利,蔡福也被俘虏,都指挥佥事周安、指挥陈麟宁死不降,引兵退至富良江,被安南兵包围,二人大呼“吾天子朝臣,岂死贼手”,手刃数人,与所部九千余人同时遇害。
黎利聚众三十万人在交州与王通对峙,分遣别将四出掠地,所过皆残灭,只有清化一城仍在明军手中,守将罗通与指挥打忠坚守不去,安南兵攻之不克。次年2月,黎利攻交州,王通趁其不备,以劲卒五千直捣其营,大破之,斩首万余级,黎利惊慌退走。明军将领请求乘胜追击,但王通胆小如鼠,敛兵三日不出,几天后黎利声势复振,再围交州,分兵攻陷昌江、谅江,形势急转直下。王通大惧,一面又与黎利联系,允诺代为请求藩封,一面飞章向朝廷请求增兵。明宣宗命柳升为征虏副将军,充总兵官,保定伯梁铭为左副总兵,都督崔聚为参将,尚书李庆参赞军务,率领步兵十万、骑兵二万出广西攻镇南关,黔国公沐晟、徐亨、谭忠出云南攻梨花关,镇远侯顾兴祖将步骑兵各五万出广西援坡垒关。柳升是当时的名将,他曾参与张辅的南征,随朱棣北征也立有功勋,又平定唐赛儿之乱,负一时之望,朝廷倚为柱石。6月,有消息传来,说黎利包围昌江甚急其实4月就已被黎利攻陷,明宣宗诏命柳升立即赴援,9月,柳升大军进入隘留关,安南兵沿途据险列栅抗拒,明军鼓勇进攻,连破之,进抵镇夷关。柳升因屡战屡胜,轻视黎利。郎中史安、主事陈镛告诉尚书李庆说:“柳将军辞色皆骄,骄者,兵家所忌。贼或示弱以诱我,未可知也。防贼设伏,玺书告诫甚切,公宜力言之。”李庆其时正好病重,勉强支撑起来去告诫柳升,柳升不听。明军主力进至倒马坡,柳升率百余骑先行过桥,桥突然损坏,后军遂不得进。黎利伏兵四起,明军大败,柳升陷泥淖中,中镖死。次日,梁铭病卒,又过了一天,李庆亦病死,明军散乱无主。这时,崔聚率军进至昌江,黎利以大军围困,明军因前后受敌,作殊死战,后安南兵又驱象阵来攻,明军遂乱,安南兵大呼:“降者不死。”明军或死或走,无一降者,七万大军全军覆没。
柳升战败之后,沐晟孤军不能再进,也退回云南,安南遂落入黎利手中,王通惧而请和,并私下释放俘虏两万余人并马两万匹,并送黎利使者入朝,请封所谓的陈氏后人陈高为安南国王。明宣宗召集群臣商议,英国公张辅道:“这是黎利诈谋,必不可从,当再益兵讨贼,臣誓将元凶首恶,絷献阙下。”蹇义、夏原吉也都认为不可轻许。然而,以杨荣、杨士奇为代表的重臣,看出宣宗已有厌战之意,便皆言交趾荒远,不如许了黎利,以息兵争。明宣宗遂决计罢兵,遣侍郎李琦、罗汝敬等,赍诏抚谕交趾,赦免黎利抗命之罪,封陈高为安南国王,同时诏王通等率安南尚余诸军共八万余人北返,罢交趾布政使司。