
汉灵帝中平元年(公元184年)十一月,羌人北宫伯玉、李文侯反叛,自立为将军。
东汉护羌校尉泠征率兵围剿叛军(为了加强对羌族人的防御,汉朝政府特设立护羌校尉,专门负责管理河湟一带羌事),结果泠征也被叛军杀死。
任凉州刺史左昌,趁着征兵时截取军费数千万中饱私囊。长史盖勋坚持劝阻,左昌很不高兴,于是派他和凉州从事辛曾、孔常一起率军前往驻守汉阳郡阿阳县。
北宫伯玉叛军大举进攻金城郡失败,于是又来攻打阿阳县,面对叛军的锋芒,盖勋多次作战并成功守住阿阳县。
左昌原以为盖勋必定败仗,即便不战死,待其返回后也可以用军法处死。不料,自己的愿望落空了。
叛军久攻不下阿阳县,北宫伯玉和李文侯意识到自己虽然有数万人马,但是缺乏能征善战的大将,二人很是犯愁。
这时,有人举荐说榆中人边允、韩约素有胆略,在西州一带闻名,如能得到这两人,何愁军中无将!
边允和韩约都是凉州金城郡(今甘肃省兰州市)人,边允曾任凉州督军从事,韩约曾任凉州从事。此时,因凉州刺史新任,二人赋闲在家。
于是,北宫伯玉和李文侯率叛军转向去攻打金城郡。盖勋见状,请求左昌派兵救援金城郡,左昌不肯。盖勋非常气愤。
叛军来到城下,李文侯献计诈降,要求让边允、韩约出城接待。韩约不想出城接见,太守陈懿怕纳降失败,劝韩约前去。
边允、韩约一起出城,北宫伯玉大喜,直接扣押了边允、韩约等数十人。此时,城内闻听叛军扣了人质,金城被围,人心惶惶,爆发了动乱。
陈懿不得已出城迎战,混乱中陈懿被叛军杀死,城破。陇西郡向朝廷汇报战事时,把边允、韩约都归为“贼”,同时发布了悬赏捉拿信息。
边允、韩约无力辩驳、只得投身叛军。并且二人改了自己的名字为边章、韩遂。北宫伯玉胁迫边章、韩遂入伙事成,推举边章、韩遂为首领。
边章率军包围凉州汉阳郡冀县(郡治及州治所在)。左昌无计脱身,惊恐失措,便派人向盖勋求援。
而辛曾、孔常疑虑而不敢听从,盖勋怒道:“以前庄贾失期,司马穰苴就将其斩首,今天你们两个小小从事,难道还比古代的监军地位高?”辛曾、孔常这才同意出兵。
盖勋率援军抵达冀县,斥责边章等人背叛朝廷。边章、韩遂都说:“左昌当初要是早听您的话,派兵来救援金城郡,或许我们还能改过自新,如今罪孽深重,不能再投降了。”
于是,边章等人哭泣而去,解除了对冀县城的包围。边章等人绕开凉州,继续东进,在畜官(牧马场,今陕西省兴平市)包围了新任护羌校尉夏育。
盖勋遂带郡兵前去救援,但刚行至狐槃(今甘肃省甘谷县南)就被叛羌击败。
盖勋身边所剩不足百人,身上三处受伤,他坐在地上一动不动,指着路边的路标说道:“把我埋在这里!”
羌族头领滇吾手持武器挡在众人面前,说道: “盖长史是位贤人,你们如果杀了他,就辜负了苍天!”

盖勋仰天骂道“你这该死的叛贼,你知道什么!快来杀我!”滇吾下马将自己的马交给盖勋,但盖勋不骑,遂被叛羌抓住。
叛羌不敢杀掉盖勋,将他送回汉阳(今甘肃省甘谷县),后来,凉州刺史杨雍上书推荐他担任汉阳太守。
中平二年(185年)三月,边章等率领数万骑兵打着诛杀宦官的旗号入寇三辅(今陕西关中地区),侵逼园陵。
三辅即以长安为中心的京兆、左冯翊、右扶风三地,乃是京师洛阳的西门户,三辅若失,则洛阳危矣。
汉灵帝遣左车骑将军皇甫嵩及中郎将董卓征讨。
皇甫嵩曾与宦官赵忠、张让结怨,二人对皇甫嵩恨之入骨,上奏皇甫嵩讨伐一直没有成效,且费用巨大。于是,灵帝下诏将皇甫嵩召回。
此时,边章、韩遂等实力进一步扩大,拥十万之众。八月,朝廷再次命司空张温为车骑将军、假节,执金吾袁滂为副,破虏将军董卓与荡寇将军周慎都归张温统帅。连同诸郡兵步骑共十多万人,屯驻在美阳,来保卫皇家园陵。
张温来到长安以后,以诏书召董卓来见。过了很久,董卓才来拜见张温,张温责备董卓讨伐不力,董卓却毫不服气,态度傲慢。
孙坚当时在场,他来到张温面前,附耳私语道:“董卓不惧朝廷怪罪,而张牙舞爪,口出狂言,应当以不按时报到,依军法将其斩首。”
张温回答:“董卓素来在陇西蜀地之间享有大名,今日杀了他,恐怕我军西进就失去了依靠。”孙坚只得退下。
张温率领各郡军队共计十余万人,推进到美阳(今陕西省武功县)。边章、韩遂等人也进兵美阳,张温与之交战,却屡战屡败。
在美阳亭北,孙坚率领一千余众与敌人遭遇,几乎全军覆没,孙坚的印绶也在激战中丢失了。
不久,隆冬来临,天气寒冷异常。边韩军当初出征之时,正值盛夏,他们个个单衣单裤,虽配有夹衫,只是以备秋凉之冷,怎能抵御三九严寒。因此,部队中开始有厌战情绪。
到十一月一天的夜晚,天上出现一颗明亮的流星,照得边章、韩遂军营内骡马尽鸣,边章、韩遂等人认为不吉利,商议撤回金城。
董卓听说后大喜,决定对叛军发起总攻,第二天,董卓率军与右扶风鲍鸿等人合兵一处,大破叛军,斩杀了数千人,边章、韩遂逃回榆中(今甘肃省榆中县)。
张温命令周慎率领三万军队追击,董卓对张温建议,自己率领本部人马担任周慎所部后援,但张温自以为陇西指日可定,打算让董卓率部进攻叛羌,只用周慎所部即可消灭边章、韩遂,遂没有答应董卓的请求。
边章率众退踞榆中,凭城而守。周慎追来,欲马上攻打榆中城。
这时,军中参议军事的佐军司马孙坚向周慎献策,说:“贼人新到榆中,必无存粮,一定要从外输入。我愿率万人,截住粮道,将军您率大军为后应,贼不能久守,自然撤离。如果他们窜人羌中,我们并力去讨伐,便可荡平,凉州从此可以安静了!
周慎不以为然,自以为边章等人已是穷途末路,根本犯不着从长计议,以免耽搁时日,宜速战速决。
于是,周慎引兵包围榆中城,边章探得周慎全军围攻榆中城的消息后,便分一拨人马由韩遂率领埋伏在葵园峡(今榆中县桑园峡)。
周慎率众攻城时,边章拒不出城迎战,只守不打,而偷偷命令韩遂所率葵园峡驻兵截断周慎的粮道。
无粮,周慎惊恐之下抛了辎重,狼狈退归。
董卓的情况也不乐观,数万先零羌、湟中胡将董卓的汉军包围在望垣(今甘肃省天水市西北)峡谷以北地区,汉军断粮。
董卓命令士兵们在撤退的要道上修筑围堰,形成了一个方圆数十里的大水塘,假装让士兵们捕鱼。围堰建成后,他却率军从围堰下面的浅水渡过河去,然后,掘开了围堰。
等到敌人发现后,追至河边,河水已经很深了,无法渡过,董卓军得以安全撤回。
当时,汉军西征的共有六支部队,其他五支部队全部战败,唯独董卓一支部队没有损失,撤回后,董卓驻扎在扶风(今陕西省兴平市)。董卓因此功被拜为前将军,封(今陕西省武功县南)乡侯。
张温对边章、韩遂的讨伐,先胜后败,到中平三年(公元186年),双方陷于僵持,这一年年底,张温被朝廷召回京师。

经过中平三年一年的休养,中平四年(公元187年),韩遂等人得知张温回京后,卷土重来。不久,叛军内部发生火并,韩遂杀死了边章、北宫伯玉、李文侯,兼并了三人的军队。
然后组织起一支十余万人的大军,包围了陇西郡,陇西太守李相如投降,与韩遂联合。凉州刺史耿鄙信任治中程球,而程球却贪污腐败,凉州军民个个对他恨之入骨。
耿鄙打算率领六个郡的郡兵前往讨伐韩遂。汉阳太守傅燮劝阻,但耿鄙不听。
中平四年四月,耿鄙率领汉军推进到狄道(今甘肃省临洮县)。果然,汉军内部发生叛乱,州别驾反而响应叛军,先杀掉了程球,接着又杀害了耿鄙,韩遂的叛军趁势又包围了汉阳。
汉阳城内兵少粮尽,但傅燮依然率众固守不降。
当时,北地郡的数千胡骑也在叛军军中,他们感念傅燮的厚恩,来到汉阳城下,跪地叩头,请求护送傅燮回到家乡。
傅燮的儿子傅干年仅十三岁,也劝说父亲回到家乡。
傅干话音未落,傅燮叹息一声,慷慨说道:“身为臣子,最重要的是完成使命,次之是坚守立场。我遭逢乱世,不能养浩然之气,既然吃了朝廷的俸禄,又想逃避责任吗!我离开此地后,又能去哪里呢?”
于是,傅燮率领守军出城迎战,战死在沙场。耿鄙的司马马腾也率众投降了韩遂,与韩遂合兵一处,共推王国为主,继续东进,侵扰三辅。
次年十一月,王国率领叛军包围了陈仓(今陕西省宝鸡市),灵帝下诏拜皇甫嵩为左将军,都督前将军董卓,组织四万军队前去抵挡。
董卓对皇甫嵩说:“陈仓危急,请速速赶往援救!”皇甫嵩却说:“百战百胜,不如不战而屈人之兵。陈仓虽然城池小,但非常坚固,敌人一时难以攻下。王国虽然强盛,但攻不下陈仓,部众就会疲惫,那时,我军再发起攻击,这是全胜之策。”
第二年(灵帝中平六年,公元189年)二月,连攻陈仓数月之久的王国所部已经疲惫不堪,只得撤离陈仓,皇甫嵩当即下令汉军追击。董卓劝阻道“不可。兵法上说:‘不要追赶走投无路的敌人,不要追击折返回家的敌人。
皇甫嵩说“前不久,不发起进攻,是为了避开敌人的锋芒。如今进攻,是趁着他们衰败。我们所打击的是疲惫之军,而不是折返的军队。王国的部队将要逃走,早已没有了斗志,我们以整齐的军队去进攻军心大乱的敌人,打的不是走投无路的敌人。
于是,他单独率领本部人马进攻敌人,让董卓率领他的部队当后卫。皇甫嵩连战连胜,大破王国,斩首上万人。
王国败后,韩遂等人一起废掉了他,另立前信都令阎忠为主。
不久,阎忠就病死了,群龙无首的关西诸将开始争权夺利,相互攻杀,关西方面对三辅的威胁也就小了。