元琛在朔州稳住脚跟,遂遣部将于谨说降西部高车酋长乜列河,使其切断破六韩拔陵北路。又逢柔然大军步步进逼,自此情势逆转,渐对义军不利。
破六韩拔陵见敌柔然大军不住,又失西部高车强援,只得撤退,迁六镇军民渡过北河。
柔然可汗阿那瓌乘胜渡河追击,元琛亦发本部大军在北河以南设伏,对六镇义兵进行前后夹击。破六韩拔陵全军失利,大将孔雀被柔然头兵可汗杀死,损失惨重。
元渊见叛军主力大败,急挥师大进,乘势追击。
破六韩拔陵复引军向北败走,又被柔然骑兵突击,部众纷纷离散。
各地义军亦纷纷倒戈,复投北魏朝廷。破六韩拔陵眼见大势已去,只得率领亲随南渡北河逃走。起义至此失败,破六韩拔陵后事不详。
六镇之乱暂告平息,北魏朝廷乃分徙六镇二十余万降户,使于冀、定、瀛三州就食。不料正逢河北遭遇水旱之灾,六镇之民无处就食,于是各自逃亡,复归原镇。
其后未几,柔玄镇兵杜洛周又称吐斤洛周,复聚北镇流民反于上谷,称制建国,并改年号为真王,率师西上,兵围燕州。怀朔镇人高欢、尉景等皆起响应,迅速众至数万。
燕州刺史崔秉见乱民来攻,不由大惧,急修表报进京城洛阳。
魏明帝元诩遣常景为行台,与幽州都督元谭同领官军征讨。官军自卢龙塞至军都关,沿途置兵占领险要,阻止义军南攻。
二年正月,安州官军约二万人叛魏,加入义军。常景派兵拦截,被义军打败。
杜洛周率领义军自上谷南下,进攻蓟城,遭官军阻击退回。十一月,杜洛周领义军围攻范阳,城内居民擒常景及幽州刺史王延年,迎接杜洛周等义军入城。
次月,杜洛周进军至黄瓜堆,击败高车酋长斛律金。
孝昌二年春,安州戍将起兵响应杜洛周,攻克居庸关,北魏守将元谭逃亡。
是年五原丁零族敕勒鲜于修礼于定州造反称王,被北魏都督杨津击败。
杜洛周进攻蓟城,败北魏都督李琚,据有燕、幽二州。鲜于修礼被元洪业所杀,元洪业又被葛荣所杀,部众由此皆归之。
葛荣与魏军战于白牛逻,一阵而胜,魏