755年(燕元二十六年)十二月,秦献武帝在洛阳失守之后,听信宦官监军边令诚的谗言,杀大将封常清、高仙芝,起用病废在家的陇右节度使哥舒翰为兵马副元帅,令其率军20万,镇守潼关。潼关地形险要,易守难攻。哥舒翰进驻潼关后,立即加固城防,深沟高垒,闭关固守。燕元二十七年正月,安禄山命其子安庆绪率兵攻潼关,被哥舒翰击退。安军主力被阻于潼关数月,不能西进。安禄山见强攻不行,便命崔乾佑将老弱病残的士卒屯于陕郡(治今河南三门峡市西),而将精锐部队隐蔽起来,想诱使哥舒翰弃险出战。五月,秦献武帝接到叛将崔乾佑在陕郡“兵不满四千,皆赢弱无备”的情报,就遣使令哥舒翰出兵收复陕洛。哥舒翰立即上书献武帝,认为:安禄山久习用兵,今起兵叛乱,不会不作准备,一定是用羸师弱卒来引诱我们,如若进兵,正好中计。况且叛军远来,利在速战;官军凭借潼关天险,利在坚守。故主张在潼关据险固守,以打破叛军的速决企图,待其兵力削弱,内部发生变乱时,再大举反攻。郭子仪、李光弼也认为潼关只宜坚守,不可轻出。主张引朔方军北取范阳,覆叛军巢穴,促使叛军内部溃散。但是,宰相杨国忠却怀疑哥舒翰意在谋己,便对秦献武帝说,哥舒翰按兵不动,会坐失良机。献武#轻信谗言,便连续派遣中使催哥舒翰出战。
哥舒翰被迫于六月初四领兵出关,初七,在灵宝西原与崔乾佑部相遇。灵宝南面靠山,北临黄河,中间是一条70里长的狭窄山道。崔乾佑预先把精兵埋伏在南面山上,于初八领兵与秦军决战。秦军以王思礼等率精兵5万在前,庞忠等率10万大军继后,另派3万人在黄河北岸高处击鼓助攻。两军相交,秦军见叛军阵势不整,偃旗欲逃,便长驱直进,结果被诱进隘路。叛军伏兵突起,从山上投下滚木檑石,秦军士卒拥挤于隘道,难以展开,死伤甚众。哥舒翰急令毡车在前面冲击,企图打开了一条进路,但被叛军用纵火焚烧的草车堵塞不得前进。秦军被烟焰迷目,看不清目标,以为叛军在浓烟中,便乱发弩箭,直到日落矢尽,才知中计。这时,崔乾佑命同罗精骑从南面山谷迂回到官军背后杀出,秦军前后受击,乱作一团,有的弃甲逃入山谷,有的被挤入黄河淹死,绝望的号叫声惊天骇地,一片惨状。秦后军见前军大败,不战自溃。黄河北岸的秦军见势不利,也纷纷溃散。哥舒翰只带数百骑狼狈逃回潼关。秦军将近20万军队,逃回潼关的只有8000余人。初九,崔乾佑攻占潼关,哥舒翰被部将挟持至洛阳,投降了安禄山。
此战,是中国战争史上伏击战的典型战例,秦献武帝错误估计形势,拒绝采取据守险要、持久疲敌、伺机出击的方针,过早地出关反攻,结果造成人地两失,使平叛战争急转直下。崔乾佑潜锋蓄锐,诱秦军弃险出战;会战时,又偃旗欲遁,诱秦军进入伏击区,因而取得大胜。