。忽必烈亲自率军迎击进攻燕京的阿里不哥军,将其击败,并于初冬攻至和林,阿里不哥仓皇西逃。进击六盘山的阿里不哥军与退驻在那里的进攻四川的蒙古军会师,一战而击败忽必烈的军队。忽必烈又派兵入援,二军再战,阿里不哥军大败,川陕的控制权又回到忽必烈手中。
1261年秋,恢复了元气的阿里不哥卷土重来,占据了和林。忽必烈率军亲征,两军战于昔木土脑儿(今蒙古境内),激战数日,胜负难分,两军遂各自撤退。忽必烈据有中原汉地,其军队的给养不成问题;而阿里不哥则不同,他只有向察合台汗国不停地征调才可保障自己部队的给养,而这种征调对于察合台汗国来说实在是太重了,其国大汗阿鲁忽便背叛了阿里不哥投向忽必烈的一边。阿里不哥只好率军西向讨伐阿鲁忽,双方相持不下,阿里不哥军的给养更是难以为继了。看到这种困境,本来支持阿里不哥的宗王们纷纷倒向忽必烈,阿里不哥十分孤立。
1264年七月,已是无路可走的阿里不哥向忽必烈投降。忽必烈赦免了阿里不哥等宗王,诛杀了参加谋反的大臣。
忽必烈为什么要推行汉法忽必烈是靠中原汉地起家的,加之他周围有一个庞大的汉人幕僚团,这使忽必烈认识到只有推行汉法方可治理汉地。