海都设伏于洪水山(今新疆呼图壁县西南),元军中计,公直与别失八里屯田军总管、怀远大将军李进被俘,公直第五子瑷战死。李进从叛军行至掺八里(即彰八里,今新疆昌吉),遁还至和州(火州,今新疆吐鲁番东南),收散卒三百人,且战且行,还至京师。海都乘胜再至火州,进攻哈密力,亦都护大战,力尽而死。同年,忽必烈以伯颜代阿只吉总兵,以皇孙铁穆耳抚军,在别失八里置元帅府,遣侍卫新附军屯田戍守。
西北藩王和李璮的叛乱,使忽必烈痛感地方势力的发展对中央政权威胁之甚。于是,他在平叛的同时也加强了对东道诸王的控制。这就又促成了东道诸王的叛乱。
至元二十四年(1287)三月,翰惕赤斤的后裔乃颜首先发动叛乱,并与海都早有往还。海都拟率军前来会合,形势顿趋严峻。忽必烈仍以伯颜驻守和林,割断海都与乃颜的联系,阻止海都东来,自己则率军亲征乃颜。