元朝泰定帝(也孙铁木儿,1323-1328年在位)为了防止身后出现皇位之争,登基次年就立了五岁的儿子阿速吉八为太子。1328年(致和元年)七月,泰定帝死于上都,丞相倒剌沙专权,越月不立君;留守大都握有兵权的武宗旧臣、佥枢密院事燕铁木儿谋立武宗子怀王图帖睦尔为帝。八月初,倒剌沙以正统自居,发兵分道进攻大都。燕帖木儿迅即在迁民镇(今河北秦皇岛市山海关)、古北口、居庸关等地增加驻军。一场大战在所难免。
二十五日,古北口守将脱脱木儿于宜兴(今河北承德西北)击败上都宗王失剌部,斩詹事钦察、平章乃马台。九月初,燕铁木儿遣弟撒敦于榆林(今北京昌平西北)袭败上都梁王王禅、右丞相塔失铁木儿。旋阻击来自辽东的上都宗王也先帖木儿、平章秃满迭儿于蓟州(今天津蓟县)东流沙河。
是时,倒剌沙及宗王脱脱、王禅拥立泰定帝九岁子阿速吉八在上都称帝,改元天顺;燕铁木儿等亦随即奉图帖睦尔在大都称帝,是为文宗,改元天历,两都更为对立。
中旬,燕铁木儿领兵出蓟州拒秃满迭儿,闻王禅兵袭破居庸关进逼大都,急回军抵御,于榆河(今昌平南)北击败上都军。
下旬,两军又鏖战于白浮(今昌平东北),燕铁木儿夜袭上都军营,获胜,追至昌平北又斩数千,俘万余。旋移师石槽(今怀柔西南),击败另一支上都军,俘杀孛罗帖木儿以下将士万人。
上都军连战皆败,遂改变战法,分兵东西两路自通州(今通县)、紫荆关对大都发起钳形攻势。陕西行台御史大夫也先帖木儿也引兵从大庆关(今陕西大荔东)渡黄河,配合上都军。大都再次面临危局,燕铁木儿引军还通州,脱脱木儿领兵4000援紫荆关。
十月初,燕铁木儿与上都军决战于枣林(今通县东南),获大胜,后昼夜兼程转兵良乡,阻击上都宗王忽剌台,迫其西走。时上都辽东军复入古北口,与大都军战于檀州(今密云)南野,大败,被俘降万人。当两都兵在长城沿线鏖战之际,据守辽东的齐王月鲁帖木儿、元帅不花帖木儿率军于十三日乘虚进围上都,迫倒剌沙、王禅于次日出降。阿剌吉八不知所终,武宗系获胜。
两都之战是在元朝中期发生在蒙古统治集团内部的争夺最高统治权的战争,是元朝中期社会矛盾激化的产物,大都方面最终取得了胜利。这次战争虽然历时时间不长,却削弱了元朝统治的力量,对元朝后期的政治、经济和社会生活等各个方面都产生了重要的影响,为元朝的最终灭亡也埋下了"伏笔"。是年,元朝的掘墓人也已诞生,他就是出生于濠州钟离孤庄村的朱重八,也就是大明朝的开国皇帝朱元璋。