明军于7月6日开始向南定省城进军,随后两天,与郑军屡有交火,均损失轻微。7月8日晨,郑军大将武良率兵向明军发起总攻,至下午,激战三个时辰。郑军于此战出动战象160余头,初始进展顺利,后战象却被明军使用大量火器和震天雷惊乱,反践自家兵马,致使郑军大败,阵亡三总兵,一统领,死伤两千余人。明军方面则战死658人,伤1000有余。
赵自强恼郑军抵抗顽强,又恼在南定耽搁时间太久,遂于10日传令向南定发起总攻。战斗开始后,明军组织火炮猛轰城外郑军,城外郑军缺少掩护也没有任何反击手段,南定外围阵地纷纷失守。明军一路占据城西南的商馆,一路由城西北,包抄城北高地,攻占城东北各炮台,并用缴获安南军队火炮轰击全城。南定附近要地全失,数千郑军尽退城内,秩序大乱。
与此同时,十一镇组织安南汉军开始攻城,由于缺少攻城器械,安南汉军只能用云梯攻城,被守城郑军痛击。随后明军组织火炮轰击城墙,大量杀伤城头郑军。城中郑军多是优兵,受郑氏供养,人皆有死战之心。但在占尽火力优势的明军猛攻下,郑军逐渐不支。明军从东、南两门同时攻入城中,守军一直坚持巷战到深夜。几个时辰后,城中再也不闻郑军反抗声音,都督陶玉饶吞金自杀,大将武良见大势已去,跳河自尽。
入城以后,因为郑军反抗激烈导致明军和汉军死伤两千余,同时又为迫使安南人放弃抵抗,接受条约,赵自强传令洗城三日。
洗城命令下发后,明军兽性大发,在南定进行了惨绝人寰的大屠杀。他们见人就杀,有的砍掉脑袋,有的割去双耳;妇女被奸污后割腹开膛......
屠杀持续三日之久,整个南定陷入血泊之中,死尸堆积高达数尺。道路上满是死人,行走很不方便,流出的血使人作呕。
南定失陷、都督陶玉饶、大将武良双双殉国消息传来,升龙举朝震惊,皇帝黎维祺甚至吓得一夜难眠。
雪上加霜的是,北干省传来告急,高平的莫氏军队在其主莫敬宇的带领下悍然出兵攻打北干;南方郑根也向升龙发来急讯,阮氏军队已于两日前渡江北犯。
京畿前有明军,山南、清化、南定全境糜烂,鸿基、广宁被明军所制,北方莫氏、南方阮氏落井下石,郑柞无比惊惧,命南北诸将勤王,同时马上和明军谈判,愿意将明朝公主和朝臣奉还,另赔款五百万两,只为大明天朝能够息怒。