宪武七年冬,分别来自北地、安定以及金城、陇西四州枹罕、河关等地的两股羌人举事叛乱。最初,他们分头行动,都趁机对抗经营数年的已经强盛的秦帝国统治。十月或十一月,募来派遣平叛的由羌人和吐谷浑人组成的湟中义从胡军队在令君兵变反抗秦朝军官,加入叛军,于路杀护羌校尉冷征,事态升级。此时,两股羌人也合兵了,以原湟中义从胡士兵北宫伯玉和李文侯为将军。此次联合意味着叛军控制了金城在黄河沿岸的条状地带。短短几周内,叛军攻克金城州治允吾,从此以金城郡为主要作乱据点,因陇右郡守左昌侵占防御军费,救军不济,帮了叛军的忙。金城刺史陈懿前赴叛军大营商谈释放人质,反遭叛军杀害。人质中的新安县令边章、凉州从事韩通被说服加入了叛军。这些有誉望的人的加入使得叛军获得了更大范围的民间支持,而此二人将在叛乱逐渐进行的过程中扮演重要角色。
随后,叛军围左昌于冀县总部。一些边将起初并不想救援左昌,但很受尊敬的成功将领盖勋迫令他们前去救援。叛军因尊敬盖勋,主动撤围。此事后,左昌被虔诚的儒生宋臬取代。宋臬认为,只有在民间教授《孝经》才能平乱,不顾下级反对将这一建议上表朝廷,随即也被杨雍取代。但地方状况并未因此改善,地方官再度被叛军围攻。有应对羌乱经验的新任护羌校尉夏育在汉阳郡的畜官遭句就种羌首领滇吾攻打,盖勋又一次率军往救。但这次,他在附近的狐盘遭到惨败。夏育、盖勋都逃走了,此时凉州政府显然已经不能靠自己应对叛军了。
孙恩叛乱平定后,王俊凯调窦骁,刘牢之北上大败叛军,窦骁、刘牢之在金城大治水军,并令建威将军孙处及振武将军沈田子率兵三千,循河西走廊袭取武威,并于同年二月二十日攻下武威,诛其党众沈田子又西进进攻其余之部州。而在叛军首领李文侯败于酒泉后南归敦煌,窦骁亦派了赵毅及孟怀玉追击。
同年三月十一日,孟怀玉攻克张掖城,杀徐道覆。李文侯于四月回到武威后围城试图夺回武威,但孙处抵抗了二十多日,待至五月沈田子援军赶至,李文侯战败逃走,沈田子又与孙处追击,先后在河州、皋兰及廓州三县击败李文侯,只因孙处患病才停止追击,李文侯于是投奔龙支。
李文侯在龙支攻陷广武城,并转向鄯州治所湟水。李文侯虽遭鄯州刺史杜慧度率军击败,但仍有三千余人,而先前作乱的前陇右从事韩通余部李脱等人亦率五千人归附李文侯,李文侯于是在攻湟水,于六月一日至湟水南津。杜慧度尽散家财赏赐给士兵,与李文侯作战,并对李文侯的船舰投掷火具,施以火攻,李文侯军终溃败,李文侯投河自杀,杜慧度捞走李文侯尸体并斩首,联同叛将北宫伯玉等七个首级送呈镐京。至此陇右叛乱宣告结束。