元年(315)八月,刘聪令刘曜再攻长安。九月,刘曜攻北地。愍帝命麴允为大都督、骡骑将军以拒汉军。十月,又以索綝为尚书仆射、都督宫城诸军事。麴允进至黄白城。刘曜分兵攻陷冯翊,主力转攻上郡(今陕西韩城南)。麴允以兵弱不敢进,撤往灵武。愍帝因长安危急,多次向据秦州(治今甘肃天水)的司马保征兵。保以诸军未集,迟迟不发,致使长安孤立无援,诸军饥困。二年四月,凉州刺史张寔遣将军王该率步骑5000援长安,并送诸郡贡赋。七月,刘曜复围北地,太守麴昌遣使告急,麴允率步骑3万往救。当允军离城数十里时,刘曜令绕城纵火,浓烟蔽大,又遣间谍散布:“郡城已陷。”允军惧而溃退。刘曜趁势追败晋军,麴允奔还灵武,北地遂陷。刘曜进至泾水之北,渭北诸城皆溃。八月,刘曜进逼长安。九月,镇西将军焦嵩等引兵救长安,散骑常侍华辑监京兆、冯翊、弘农、上洛四郡兵东屯霸上(今西安东),均畏汉兵之强不敢进。司马保遣镇军将军胡崧率兵入援,击破刘曜军于灵台(今西安西北)。胡崧恐国威复振,麴、索势盛,乃率城西诸郡兵驻渭北不进,又退屯槐里(今兴平东南)。刘曜攻陷长安外城,麴允、索綝退保长安小城。晋军内外隔绝,城中食尽无援,死者大半,士卒逃亡,无法制止。十一月,愍帝出降,西晋亡。
此战,刘曜先攻占渭北诸城,击溃晋军主力,孤立长安,然后围而攻之,使其粮尽援绝,从而获胜。
镇守长安
刘曜时为相国、都督中外诸军事,镇守长安。闻靳准叛乱,亲自率领军队由长安出发赴平阳,行至赤壁(今山西河津市西北的赤石川),遇到了从平阳出逃的太保呼延晏与太傅朱纪。他们劝刘曜称尊号,刘曜遂即帝位,改元光初,这年是公元318年。当时石勒驻守河北,刘曜封石勒为大将军,同石勒成犄角之势,进攻平阳。
不久,靳准为部下靳明所杀,其众共推靳明为主,靳明送传国玺于刘曜,准备投降刘曜。石勒大怒,派主力急攻平阳,靳明向刘曜求救,刘曜派将迎回靳明。平阳士女15000人随靳明归于刘曜,刘曜斩靳明及靳氏男女。不久,平阳遂被石勒攻占。这时,刘曜同石勒已成剑拔舒张之势,但因刘曜在关陇立脚不稳,有后顾之忧,所以不敢同石勒马上翻脸,授石勒为太宰、领大将军、加殊礼,以河内24郡封石勒为赵王。如曹*辅汉故事,想以此先稳住石勒,以便腾出手来对付关、陇地区的敌对势力。
关中大乱
当时,关中、陇右一带有很多氐、羌等少数族人未予归化,常同西晋残余联合进攻刘曜,给刘曜*造成严重威胁。大兴三年(320年),刘曜部下长水校尉尹车,连结巴氐酋长徐库彭反叛,刘曜先杀尹车,又囚徐库彭等5000人,准备全部杀死。光禄大夫游子远叩头固谏请求放免,刘曜不听,硬是将其全部斩首。这一举动,引起了巴、氐人民的强烈义愤,奋起反抗,共推巴、氐归善王句渠知为领袖,举行起义。一时,羌、氐、巴、羯三万余人,尽皆响应,关中大乱,局势非常紧张。刘曜只得采用游子远的安抚政策,以游子远为车骑大将军,都督雍秦征讨诸军事,最后基本上平定了这次叛乱,徙巴、氐等20余万于长安。接着刘曜又亲征巴、氐杨难敌,迁杨难敌部将杨韬等万余户于长安,随后又平定了奉州陈安的反叛。
接着,刘曜开始大举用兵凉州张氏*,张氏*的奠基者是安定乌氏(今甘肃平凉西北)人张轨,张轨是西汉常山王第十七代孙,世以儒学著称。西晋永宁年间,任凉州刺史、护羌校尉。洛阳陷落后,晋愍帝都长安封张轨为凉州牧;张轨死后,由张(宀是)、张茂继立。刘曜出兵凉州时,张茂正为凉州刺史。刘曜大军长驱*西河,戎卒二十万五千,临河到营,百余里中,钟鼓之声,沸河动地,“自古军旅之盛,未有斯比。”凉