按照元窝阔台汗元年(1229年)宗室诸王的盟约,蒙古大汗之位世世代代由窝阔台的后裔承袭。然而,自蒙哥汗开始,大汗之位转到了拖雷一系。由此埋下了宗室失和的种子。忽必烈在位期间推行汉化政策,更加剧了与保守的西北诸王的矛盾,终于爆发了长达40年之久的海都、笃哇、昔里吉之乱。
海都是窝阔台的孙子,元宪宗蒙哥汗二年(1252年)被蒙哥汗封于海押立(前苏联塔尔迪—库尔干东北)。海都对此耿耿于怀,于蒙哥汗六年(1256年)扣押了蒙哥汗的使臣断事官石天麟,后来又支持阿里不哥与忽必烈争位。他还结交术赤汗别儿哥,逐渐控制了窝阔台的封地叶密立(亦称也迷里,今新疆额敏河流域),成为雄踞于察合台汗国与蒙古本土之间的强大势力。元世祖至元元年(1264年)阿里不哥失败后,忽必烈邀请海都参加库里尔台大会。海都以道远马瘦、不堪劳苦为由推脱,表示只愿意在自己领地之内服从大汗的命令。后忽必烈将蔡州(今河南汝南,辖今渤海西南部)分封给海都,海都仍不为所动。至元三年(1266年),察合台汗阿鲁忽去世,堂侄木八剌沙继位。忽必烈派木八剌沙的堂兄弟八剌去辅佐并监视木八剌沙。八剌回国发动兵变,自立为汗。这时,忽必烈封皇子那木罕为北平王,主持西北军务,并派使者说服术赤汗忙帖木儿进攻海都。
至元五年(1268年),忽必烈出兵击败海都,追击到阿历麻里(今新疆霍城)。忙哥帖木儿、八剌也出兵攻击海都。海都先和忙哥帖木儿讲和,然后在失儿答里牙(今锡尔河)一线迎击八剌。海都失利,损失惨重。不久,得忙哥帖木儿的5万援兵,才挽回局面,连连击败八剌。八剌退过失儿河,聚兵募饷,继续与海都周旋。海都为解除后顾之忧,主动与八剌和解,结为俺答(义兄弟)。
至元六年(1269年),海都、八剌等在塔剌思(前苏联江布尔召开大会),将察合台领地的2/3划归八剌,1/3分属海都和忙哥帖木儿。与会诸王宣誓恪守蒙古传统风俗制度,遣使质问忽必烈为何在汉地建都和采用汉法。次年,八剌去世。海都立八剌堂叔捏古伯为汗。八剌诸子和阿鲁忽诸子不服,联兵进攻海都。
西北诸王混战给了忽必烈从容布置的时机。忽必烈先是任命刘好礼为乞儿吉里、撼合纳、廉州、益兰州等五部(前苏联叶尼塞河流域)断事官,大量迁入中原农户、军人,实行屯田,修筑道路,建立驿站,形成了进击叛王的基地。接着又命北平王那木罕建节阿力麻里,作为总管西北军事的中枢。至元十年(1273年),捏古伯与海都兵戎见,元军乘机出兵察合台汗国。十二月,捏古伯阵亡。次年,八剌诸子与海都讲和,立八剌之子笃哇为察合台汗。不久,忽必烈下令追缴颁给海都、八剌的金银符,并派中书右丞相安童辅佐那木罕,调那木罕之弟阔阔出、蒙哥之子昔里吉、忽必烈之侄脱脱木儿、阿里不哥之子明里帖木儿、药木忽儿等赴军前效力。
