公元383年初,前秦皇帝苻坚命将军吕光率军十万以车师、鄯善国两国使者为向导,自长安西进,欲平定西域诸国。
吕光率军途经高昌(在今新疆吐鲁番),穿越三百里沙漠,历经艰难险阻,于同年底到达西域焉耆国。焉耆国及其附属诸国见如此庞大雄武之军队,纷纷请降,但其近邻龟兹国则自恃西域大国不愿投降,与其附属诸国据城抵抗.
吕光便将大军集于龟兹国都延城(今新疆库车)城南,每隔五里设一营寨,修筑深沟高垒,围困延城,并给木人披上衣甲,列于营寨之中,作为疑兵以迷惑龟兹军,吕光不时率军攻城,震慑龟兹王帛纯。龟兹王帛纯自知不是中原大军对手,便将城外百姓全部迁入城中,倚仗城坚墙厚,负隅顽抗。
公元384年7月,龟兹王帛纯与吕光大军对峙尽半年有余,便以重金求援于狯胡国。狯胡国知道唇亡齿寒之利害关系,便联合温宿国、尉头国等西域诸国,共起七十万兵马,一同援救龟兹。
吕光闻讯,知道联军主要以骑兵为主,自己步兵居多,便下令集结各营兵力,操练勾锁战法,并挑选精锐骑兵为机动兵力,随时补充军阵各处缺口。
不久,吕光率军大败西域联军,斩首万余,龟兹王帛纯大惊,连夜弃城出逃,吕光随即率军进占延城。西域三十余国忌惮吕光威名,尽皆遣使纳贡,归附前秦。
公元385年3月,吕光见西域诸国尽皆平定,且西域幅员辽阔,物产丰富,内心遂有割据西域之意,于是大宴将士,征询去留意见。然而,诸将皆有思乡之心,不愿留驻西域。吕光只好作罢,便命人用二万余头骆驼满载西域珍宝奇玩,驱赶骏马万余匹,班师东归。
同年9月,吕光率大军抵达宜禾(今新疆安西南)。凉州高昌太守杨翰得知吕光率军东归,便赶往姑臧,对凉州刺史梁熙建议道:“吕光平定西域,士气正盛,其闻之中原大乱,定会有所图谋。河西之地,方圆百里,有士卒十余万,据凉州足以自保,若吕光越过流沙,其势力难以阻挡。高昌谷口地势险要,主公应派兵戍守,控制水源,则可使吕光为主公所制。如认高昌谷口太远,派兵戍守伊吾关亦可阻挡吕光东归。一旦吕光通过伊吾关,大事去矣!”。 话音刚落,梁熙部下张统也进言道:“吕光才智过人,且手下兵士思归心切,势力强盛,主公可拥立戍守边关之宗室苻洛为帝,以借助皇室威望,钳制吕光。”
然而,梁熙沉思半晌,说道:“尔等且先散去,事关重大,容吾三思而后行!”
二人见其鼠目寸光,毫无决断,不再言语,起身离去。
这时,吕光也收到苻坚于淝水惨败,中原大乱的消息,又听闻杨翰劝凉州刺史梁熙阻其东归一事,便不敢贸进。遂召集诸将商议,部将杜进分析道:“梁熙好文雅而无智谋,其不会采纳杨翰所言,不值得忧虑。将军应趁其犹豫不决之时,快速进兵,夺取凉州,再做打算。如进而不胜,末将甘愿领罪。”
吕光沉思片刻,道:“将军所言甚是,如今中原已乱,国家尚不知存亡,吾等返回中原更不知生死,先于凉州站稳脚跟,不失一良策。”
事不宜迟,吕光随即下令向高昌进军。途中敦煌,晋昌(今甘肃定西)各郡尽皆投降,兵至高昌,杨翰自知梁熙庸蠢,也献城投降。
吕光率军进至玉门关时,凉州刺史梁熙如梦方醒,下书责备吕光未接诏书,擅自撤军,并令其子梁胤带兵五万到酒泉去拦阻吕光。吕光更是传檄凉州,谴责梁熙不但没有奔赴国难,为国家分担淝水战败之忧,反而阻截回国远征大军,图谋不轨。并命杜进为前锋,自己亲率大军进兵酒泉,大败梁胤并将其擒杀,酒泉附近之胡人部族也纷纷依附吕光。姑臧守将彭洛见大势已去,抓捕梁熙,投降吕光。吕光下令诛杀梁熙,率军进入姑臧(今甘肃武威),自称凉州刺史。
公元386年2月,吕光刚刚平定凉州全境,前凉末代国主张天锡之子张大豫于揟次(今甘肃古浪土门镇)起兵,自称凉王,攻陷昌松,威逼姑臧。吕光派部将杜进前往讨伐,但被张大豫击败。张大豫乘胜进军姑臧(今甘肃武威),大有复国之势。
张跄露云淙摆傻:“吕光兵精粮足,城池坚固,攻打姑臧恐怕难以取胜。不如进兵岭西,练兵积粮,再回师向东,不满一年,便可复国。”
张大豫笑道:“吾本凉王世子,此番还都姑臧,复国大业指日可待,现退兵岭西,岂不让凉州百姓笑话,吾家于凉州自有威望,汝可前往岭西,劝说各地守将归顺,吾复国后,必不会亏待众将!”
张大豫说完便派王穆前往岭西游说各地守将起兵。果真,岭西各地不少守将起兵响应张大豫,鲜卑秃发部首领秃发思复鞬亦派其子秃发奚于带兵前来助阵,张大豫所部发展到三万余人,且进兵至姑臧城西之杨坞。
同年4月,张大豫亲率军佯攻姑臧城西,命王穆、秃发奚于率领三万部众主攻姑臧城南。吕光识破其声东击西之计,亲率大军出兵城南,大败王穆、秃发奚于,并斩杀秃发奚于及二万余人。张大豫只得率残部逃奔广武。广武守将捕获张大豫,送往姑臧,吕光下令在姑臧闹市将其斩首。
同年9月,前秦皇帝苻坚被杀的消息传至姑臧,吕光唏嘘不已,下令三军缟素服丧,并自称大将军、凉州牧。史称后凉。
公元386年底,吕光数名部下