泰定帝去世,倒剌沙,梁王王禅等支持泰定帝后人在上都即位。上都被大都打败后,王禅被斩。王禅曾坐镇云南,在云南有一批亲信党羽,这时他们开始策划反对中央的行动。至顺元年(1330年)正月,云南诸王秃坚及万户伯忽,阿禾,怯朝等举兵叛乱,攻占中庆路,杀廉访司官,捕捉左丞相忻都都,迫令签署诸文牍。二月,秃坚等攻占仁德府(今云南寻甸),至马龙州(今云南马龙)。秃坚自称云南王,伯忽为丞相,阿禾等为平章,立城栅,焚仓库,以抵抗朝廷。
此时,当地各族土官也乘机起事。四月,乌撒土官禄余杀乌撒宣慰司官吏,领罗罗诸蛮民归附伯忽。禄余以蛮兵700余人据乌撒,顺元(今贵州贵阳)界,立关固守,打败官军。之后,罗罗斯权土官宣慰撒加伯等归附禄余,联合乌蒙,东川,茫部蛮兵屡犯建昌路(今四川西昌一带)。
元廷急忙调遣江浙,河南,江西三省之兵进讨云南。又命行枢密院,四川,云南行省,诸军分道进讨,命宣政院督促军民严加防备乌蒙,乌撒及罗罗斯,并增兵四川。
十一月,元军在马龙州杀掉伯忽弟拜延,败叛军于马金山,擒杀伯忽及其党10余人。接着,四川省臣塔出在乌撤周泥驿屡败支持叛军的乌撒土官禄余,叛军溃逃,元军抢夺金沙江。十二月,击败阿禾蒙古军,阿禾伪降,率3000兵来偷袭元军,被元军击败,阿禾被擒杀。元军占中庆(今云南昆明),恢复行省统治。
接着元军平定诸蛮。至顺二年(1331年)正月,败乌撒蛮兵,禄余中箭逃走。乌蒙,东川,易良州诸蛮兵都投降元军。阿刺忒纳失里率军至当当驿。唯古刺忽,秃坚之弟必刺都迷失等伪降,不时出兵偷袭官军。秃坚则修城堡,布兵拒守。二月,元军破城,诸蛮皆降,禄余潜逃。四月,讨叛大军撤还。六月,乌撒罗罗蛮又杀掠良民,重新叛乱。九月,乌撒土官禄余率军攻顺元路,杀朝廷命官。至顺三年(1332年)二月,陕西,四川,蒙古军再入云南。禄余兵败请降,秃坚下落不明。至此云南之乱平定。
