晋愍帝建兴二年,刘琨得复并地,安民已讫,即自徒步往代公营中拜谢,及请乘势追剿刘曜。猗卢曰:“吾兵远来,疲于奔命,汉虽暂败,弩箭之力也,将帅尚盛,安可轻藐思剿他乎?”琨曰:“今不乘追破曜,大王一回,其兵复至矣。”猗卢曰:“扶人扶到头,吾心自有分晓。”越日,乃邀刘琨校猎于并界寿阳山,以耀兵威,大逞皮肉,山为赤色,及张旗帜,百里皆黑,罢围而归。猗卢以卫雄督精兵五千戍并,协助琨守,临发,又谓刘琨曰:“若有急,速报将来,吾当自至,慎毋误也。”猗卢别去,琨转城中,见并州被汉所残,人民复敝,留郝诜将兵二千与卫雄镇守,自带诸将移屯阳曲,以聚兵粮。投者甚众,锐气稍复。乃上表至长安,奏知愍帝,言复并州,杀伤刘曜,汉兵大惧,宜趁此时合兵征讨,可尽剿矣。时愍帝复归长安,得索綝、鞠允、阎鼎、贾疋、麹持数人孜孜辅翊,晓夜赞画,规模粗备,兵粮亦振,人民稍集。接得琨表,即召众公卿计议回旨。梁芬上言曰:“刘琨以一代郡之兵,能破强曜,况合南北之众乎?亟宜发诏各处,令琅琊、王敦、周顗、祖逖等自南而进,王浚、张轨、辽代自北而进,再合张光、李矩、刘琨与南阳王子,从此共将京兵一齐出关,可以报复国仇,克取神州矣。”于是帝命索綝等复颁诏命往各镇而去。
长安部掾张琼乃王因之友,密遣亲人将此消息报上平阳与因知之。王因得闻此言,密奏汉主,汉主聪乃大会臣宰,同至便殿计议。左丞相陈元达出班奏曰:“古云:先发者制人。趁晋兵未出,急发使命,令曹嶷绊住王敦;赵固操兵洛阳,使祖逖不敢妄动;石勒耀武江汉,佯为顺流东下,则司马睿自不能北上矣;王伏都提兵一枝至罕城屯扎,使合呼延模、王子春等襄国之兵,以防王浚;黄良卿领兵三万,至邯郸界上会合诸葛武、张信、廖全等邯郸、瀛州之众,以遏张轨;再命始安王刘永明提兵十万,径取长安,擒其君臣,破其伪都,则各兵自皆瓦解矣。”汉主听言大悦,乃宣刘曜上殿,问曰:“卿自并州回,金疮痊久,闻晋复有谋,举报仇伐我之意,颁诏各郡,大会军兵。我已差人各往阻遏,惟关中一路未曾提备。今吾欲待先取长安,奈无主帅可将兵马,皇弟还肯向前效力否?”曜曰:“为将之道,身不解甲,胯不离鞍,此其任也。今臣闲空已久,正思无用武之处,何言肯否?”汉主听言大喜,即拜曜为关西大都督,挂平晋元帅之印,以大将乔智明为先锋,王腾、马冲为左右,关河、关心为合后,其馀傅武、邢延、刘丰等俱各随军征进,以老将关山监视军马,大兵十二万,一时迅起。晋守臣未及提备,乔智明新受大任,奋勇当先,一路关津郡邑,不能当抵,多半降附,抗拒者悉被攻破,直过峣关,方才住扎,以候大兵俱到而进。
晋守堡兵士报至蓝田,蓝田督备即将火牌迭连报入长安。晋愍帝幼而且怯,闻奏此事,大惊失措,慌集文武诸臣共议曰:“前番被汉刘曜逼朕西走,得卿等效力,西凉来助,始得复取此地。今坐才稳,强寇又至,如之奈何?”索綝曰:“兵来将敌,水来土掩,何惧之有!一面差人催取鞠允、麹持等急趱兵粮救应,一面着大将军韩豹,统华勍、鲁充、梁纬提兵五万,前往蓝田,扼住险要,彼兵焉能得进?”愍帝聊安,即宣四将给赏而出。豹等拜命,引众疾起,驰往蓝田,未及安扎,飞马报道,汉兵已到。韩豹留梁纬结营,自与充、勍将兵布于要路,刘曜亦欲先来据占,却好两军齐到,于是各排阵势。晋先锋韩豹出马谓刘曜曰:“知足不辱,知止不耻,此古语也。汝诚人面兽心,不识浅深利害者,岂有悬军越险,数千里外而欲伐人之国,能保不败者乎?”刘曜曰:“不须多言!自古道得好:‘人无害虎心,虎无伤人意。’是汝欲会兵与我汉作对,故此先来伐取长安耳!前者南阳王兵势三倍汝等,我且一鼓下之,不是国中有事,班师回议,关中岂复借汝居住乎?”豹曰:“若非是走得快时,已为长安死灰矣!尚敢摭言以诳何人?”刘曜听言大怒,舞鞭打过晋阵,韩豹以刀指喝曰:“不必性急,我和你今日慢慢并个输赢,莫要用过气力,少刻又走。”曜曰:“休得乱道,十合之中,不擒汝匹夫,非为男子!”二人约马近前,叫声看着,怎见得好杀,有《鹧鸪天》词一首为证:
汉思图晋寇长安,两军争胜战蓝田。韩豹鹰扬夸武勇,刀如卷雪敌心寒。
威吓众,气吞天,雄哉刘曜将中先。熟铜鞭卷黄龙尾,搅得尘沙似滚烟。
二人恶战两回,共计八十馀合,未分胜败。华勍知曜英勇,连忙放马杀出助豹,汉将呼延胜看见,舞刀截住。鲁充、梁纬见勍被阻,一齐冲出,直奔刘曜。汉先锋乔智明挺枪向阻,方及交锋,王腾、马冲又至,于是数员将交横乱斗,只听得一片喊杀之声,征尘蔽日,浑如大雾漫空。正战方酣,忽听得炮鼓连天,汉后军关河带领邢延、傅武等分两翼乘尘朦中攻入,兵士涌进,晋军遂不能支。关河直捣中坚,豹尚力战,只见关心又从马后砍至,豹遂退避,于是众皆奔动,大败望长安而走。关心、关河、乔智明三人,向后紧追,直杀至龙尾坡。晋兵奔至城门边,一涌而进,俱言汉已将入矣。百姓们只以为真,附墎之人亦皆逃入。城门之下,军民乱挤,不分晋汉。哭声震地,踏死者不计其数,长安市上尽皆嚷遍。晋帝闻知大惧,走入射雁楼中去躲,众官员无处寻觅。关河等不知晋人骇惧,疑有埋伏,亦不敢入城,反令放火烧其所立之寨,移兵据屯逍遥园,以进大兵。刘曜既胜晋兵,追赶一程,见日晚,下令收军,独不见前后二将、主将,急忙查问,回报三位将军追去不曾回马,未知何处。曜乃下令催兵疾进,莫使有失。关山乃亲自先发,如风而进,众将随之。一更以后至龙尾坡,知河等已扎住在逍遥园,乃往见之,俱各大喜。须臾,刘曜自至,即设宴坐饮,共议不许歇息,恐有暗计,一夜共谋待旦,准备天明即便围城。
忽细作报道:“鞠允、麹持、麹鉴等,会合雍秦陇右人马十馀万,分两路杀至。刘曜乃不围城,众兵固寨以待,鞠允等亦不敢近进,屯于中路,密遣使命持书偷入城中,约索綝、贾疋引兵出战,前后夹攻之意。索綝即回书约定时刻,不得相误。次日辰牌,只见长安城门大开,韩豹、华勍引兵分两路而出。刘曜见晋兵将到,慌整队伍迎敌,未及成列,韩豹与华勍飞马杀出,乔智明将欲迎敌,不想关山、呼延胜已到阵前,众将交锋,未及十馀合,索綝又使鲁充、梁纬冲出,突入汉阵。关河、邢延、刘丰齐出阻住,两边混杀。战至近午时,忽然西北角喊声大震,乃是鞠允、麹持将来陇右之兵,秦州大将胡崧,雍将梁综,陇右金章、华敕、华膺统兵七万,从后杀来,两头夹攻。汉兵力战不退,索綝、贾疋亲自督战,虚张大叫曰:“宋始、竺恢大兵杀至,汉兵败矣!可努力向前,擒得刘曜者官上加官,受封万户!”晋将听言,勇气倍奋,尽皆舍死争先。汉军果当不住,大败而走。韩豹等追至渭水,日晚而回。
刘曜折兵万馀,心中大怒,曰:“吾自行兵以来,未有一战即败者,想是众兵将不用命故耳!明日再去,如若不胜,必斩部长。”关河谏曰:“殿下不可错责兵士,乃是晋将两头攻进,故此支撑不住,非不用命耶。今彼初立新君,竭力募兵,必皆效命,且未可再进。又闻宋始、焦嵩果自泾阳扶风招有人马三万来到,愈加盛矣!且自退守蓝田,察其的实,再进未晚。”曜曰:“岂有数千里至此,已过险隘,未得寸功,而又退去,使彼复据乎?”关山又曰:“知彼知己,百战百胜。今番姜存忠不在此间,少人谋议,当听河言,免致有误。且晋初西创,必皆殊死以树新立之功,长安恐未易破,且战锋亦利。”曜曰:“汝祖六十,威震华夏,继安未满六旬,何即怯邪!”山曰:“尚能运八十斤之刀,挽三石力之弓,胡为怯哉!若只一将对一将,犹能擒斩晋之晚进,但以吾军在彼重地,不可不相机而行,是以相劝耳。”曜又曰:“兵者有进无退,吾自有处。”乃令宿将皆将后队,唤乔智明、邢延、傅武、王腾、马冲一班新将上帐,分付曰:“昨者朝中以汝等为前锋,并左右紧关之职,今日助吾去复昨日之恨,务要用心尽力,生擒索綝、鞠允二人,便为破长安第一之功。”于是返兵复渡渭水。
晋之细作将此消息报至军中,綝、允谓众将曰:“彼昨战败而走,军心未固,锐气在我。贼徒无知,逆势而行,我且速进,以顺应之,彼兵必以我为乘胜追赶,稍得少进,汉兵乱矣!”于是韩豹、华勍等提兵前进,两军遇于中路,各排阵势。乔智明恃勇冲出,未及交手,被晋将梁纬暗中一箭,射中肩窝。智明大怒,带箭赶进。鲁充挺枪抵住,智明忿逼而前,一叉扭定其枪,转手一叉柄打中充颈,充乃拖枪退后。华膺恐其有失,向前战住,三合之中,又被智明一叉戳死。华敕看见,赶至报仇,方才一合,不防邢延自背后一枪刺敕落马。华勍恸弟失丧,奋勇杀至,乔智明抵住又战,未及十合,梁纬等攻入,智明两边受敌,躲避不及,被华勍一刀砍于马下。刘曜见智明落地,恐军退败,怒挥竹节刚鞭打过晋阵,韩豹、鞠允双马出敌。战约五合,鞠允枪被打折,得豹战住,只见麹鉴、梁综赶到,未及攻战,汉将邢延、呼延胜向前接住。正在喊杀,忽然正北上征尘接汉,信炮轰天,竺恢、焦嵩、宋始等引生力精兵,从后杀入。却得关山、关河接应兵至,杀退焦嵩,宋始往助,又战不过,竺恢慌忙并上。其弟竺怀恐兄等非二关对手,乃暗扯雕弓,望关山满射一箭,正中左臂,山乃负痛退入阵中。关河战住焦嵩、宋始,竺恢兄弟二人直赶关山,却得关心杀出,于是两边又皆战住。索綝正欲催军放箭,只见西边阵上纷纷乱窜,南阳王部下大将胡崧、张春杀至,汉兵各不相顾,遂皆奔溃。竺怀见其走动,逞威向前。远看关心护兄疾去,关山手上无刀,知其臂痛,便策马径进,将欲相近,关心回头一看,认得竺怀,遂勒马喝曰:“放暗箭的小贼,远走犹迟,尚敢魍魉,是寻死也!”挥刀逼上,只一合,连头带项砍为两段,报却射兄之仇。晋兵少住,索綝、鞠允大喝,手斩旗总二人,众皆惊惧,呐喊竞进,声震数十里。刘曜扎兵不住,只得亦走,望潼关而去。晋兵追至,见汉兵已据潼关,乃收兵回转。
刘曜扎定,计点人马,折兵三万,自觉无颜归国,乃强誓三军曰:“兵有五万,尚可为战,况有七万乎?明日必须再整复进,情愿战死长安,有何面目回平阳见众也!”关河又谏曰:“胜败乃兵家之常,何足为耻!强如曹操而有赤壁之败,智若武侯而有街亭之失,其他上古不可枚举,况此小挫乎?宜回平阳,再点人马,来报此仇,亦未为晚。且汉之高祖数遭楚败,而后九里山前一阵,即收全功,以雪七十二阵之耻。殿下可忍小图大,勿自堕也。”始安王乃从之,收兵退屯于淆池,使人上疏,言:“已大破晋兵,夺峣关,抢蓝田,败韩豹,直逼长安,斩金章、华敕、竺怀、华膺,因乔智明恃胜轻进,堕围失手,军兵退走,以致误败。今屯兵淆关相拒,退则恐蹑吾后,进则虑兵少无功,乞发大兵数万,再攻长安,舍身报国,务擒晋孽以断祸囮,否则索綝等将合南北之兵,先出关西矣。”汉主看表,见刘曜之言有理,先发兵一万,粮米若干,以安曜心。曜得兵粮,乃大筑营垒,召募英勇,买结民心,以伺大兵。晋细作将此消息具奏愍帝,帝召索、鞠等封赏,就议其事。索綝请帝下诏,征梁州刺史张光入护长安。光得诏,即便集众商议,旧从事王乔曰:“主帅自与刘沉攻河间之后,兵将丧亡。张方死后,虽得众举复镇此地,兵粮实少。后得与陶公收剿荆寇,才有降卒二万,锐气未盛,焉可舍此而救长安,失其根本也!”光曰:“若然,何可违旨?”长子张迈曰:“白泥堡土帅杨武,亦吾部将,向令镇守魏兴,不曾去攻河间,全军在此,今有精兵万五七千,威势甚振。前下荆襄,亦得其弟杨式效力。既有诏宣勤王,何不令他为前部,我以一将督兵同去,父亲在此不动,可不两全其美也!”张光听言大喜,遣大将息援将兵一万,持檄去帅杨武往卫长安。
杨武见檄,召集子弟商议可否,众皆曰:“汉兵勇猛难敌,洛阳尚被所破,皇帝受擒。前次又陷长安,南阳遭戮。我等若去,有损无益。成功又是张光之名,纵得微职,在朝受俸,孰似我在此处自收自享乎?我等只是不去的是。”杨武亦愿安逸,懒于远行,遂不奉令。光使人催之,武曰:“入卫京畿,日觐龙颜,还须主帅亲去。我等山夷,只合为主守地,焉能当此大任?”张光见其推托,密与张迈计曰:“吾使杨武去救长安,实欲阴除梁州之患,今彼反欲说吾自往,是思背叛,袭夺梁州耳!必须先擒此贼,吾方自去长安护卫。”迈曰:“不可如此,今彼反情未露,若遽以兵责彼,则是自逼其反矣!此等夷贼之心,终难豢养,不若以其地割与杨茂搜,趁我未出,令其发兵攻杀杨武,以绝梁地祸根。”光从之,遣人以书密见杨茂搜,茂搜见之大悦,即使其子杨难敌提兵二万,攻夺杨武之地。武度杨酋无故来侵,必是张光所使,乃使其弟杨式以金帛迎赂于途,反说难敌曰:“张刺史以大朝方面,不合吾等自立,听调不听宣,常使我将兵攻汝,以杜梁州大患。吾恐两自相残敌,鹬蚌之斗,彼收渔人功利,不肯奉命。彼虑吾与汝连,故反说汝来夺我地。若我二家仇杀,兵折将损,彼却于中取事,一鼓而俱殄矣。且前汝父使杨忠往梁州贩卖布匹,光使晋邈杀而夺之,以为汝等欲窥梁州虚实故也。汝父遣人告光查问,彼则假推,杖晋邈以饰其过。彼怀灭汝之心久矣,虑吾助汝袭他,故又赚汝来敝我也。我今愿自附顺于你,共攻张光,夺取大郡归你,免致有伤同类,不亦善乎?”难敌被式所说,又见奉币请附,即便从之,乃一同合兵,径攻梁州。光遣息援出兵迎战,反被难敌与武两头夹攻,斩首三千级,大败入城。张光听报,恼得一气攻心,吐血斗馀。别驾王乔曰:“今主公染患,二贼又猖,不若且退守魏兴,伺贼退去再议。”光按剑奋起,曰:“吾受国恩,不能杀贼以救长安,欲生何为?”乃亲出退贼。难敌见光自出,不敢见面,与杨武移兵伏于谷中,光谓贼惧,催息援、晋邈率兵赶去,至隘处,被贼两头发伏,弩箭乱起,二将皆被射死,光乃败走回城。二贼遂至城下。光无内兵外援,被围一月。督护范旷曰:“今城将陷,惟有求救于李雄,方可退贼。”光曰:“吾奉命守城,城亡亦亡,何乃反求于蜀寇乎?且今得死便如登仙,焉用避哉?”是夜听得百姓号哭,长叹一声而死,时年六十五岁。范旷、王乔二人哭倒于地,曰:“公今一去,梁地将为夷域,长安定为膻乡矣。”哭而又哭。后人有诗赞曰:
从容矢义回河间,慷慨捐身答范王。忠烈始终靡改易,梁雍千载忆张光。
次日,百姓知道本官身死,咸念宿德,痛伤其为国无救,被抑而亡,尽皆相聚悲号,如丧考妣,满城哭声相接。军民无心守御,被贼陷其西门。难敌犹下令不许有伤家眷,扰害百姓,使得罪于张光。以是王乔、范旷、张迈得以安保母弟,奔魏兴而去。杨难敌遂据梁州,遣杨武还军旧地。晋史官干宝有赞评曰:
事君徇国而竭诚,身履夷险而不变。届巴丘而流涕,集都亭而伤心。古之忠烈,罕辈于兹。