在如此有利的形势下,唐政府本该集中诸道兵力,作好决战准备,一面以主力确守潼关,坚壁不战;一面调集朔方、河西、陇右军队,袭取河北,直捣叛军巢穴。但是,唐政府忽视了坚守潼关这重要的一着。高仙芝、封常清退保潼关以后,玄宗因其丧师失地,将二人处以死刑。又任命卧病在家的前河西、陇右节度使哥舒翰继任统帅。临阵撤将易帅是兵家大忌,更何况此时新任主帅哥舒翰已病重无法治事,他只能将军政悉委副将,而副将之间又互不相协。
哥舒翰在潼关结集新旧兵力共十多万人。他坚持“坚壁勿战以屈贼”的策略,把守潼关6月之久,阻挡了安禄山西进的军队。但是杨国忠与哥舒翰素有矛盾。哥舒翰统领大军,杨国忠如芒刺在背。由于朝内朝外反杨声浪日高,杨的地位发生动摇。有人劝哥舒翰抗表请杀杨国忠,为哥舒翰所拒。杨国忠安排了两支军队,表面上作为哥舒翰的后援,实则是为监视哥舒翰,以防生变。哥舒翰表请将此两军归他指挥,召其将领至潼关,予以斩首。杨国忠因此更为不安。
杨国忠害怕哥舒翰功高势大于己不利,劝玄宗命哥舒翰出潼关迎敌。时有人奏报在陕州的贼兵羸弱无备。玄宗即命守军出潼关,收复陕州、洛阳。哥舒翰力陈禄山兵盛,不可轻图,应从各方出击败敌。河北守将李光弼、郭子仪也上言赞成,并请引兵北取幽州,捣其巢穴。但杨国忠却屡劝玄宗逼哥舒翰出击,且以中官为特使,持手诏至潼关。在中使督战的情况下,哥舒翰被迫于六月初四日引兵出关。六月七日灵宝会战,埋伏在黄河岸及山边狭窄隘道上的叛军,大败哥舒翰。十多万众一时溃败,哥舒翰只收拾得残兵8000退入潼关,安禄山军队乘胜进攻。六月九日,蕃将火拔归仁等劫持哥舒翰投降安军,潼关终于被叛军攻陷,唐军主力全军覆没。京师失去屏障,长安已完全暴露在安史乱军的铁骑面前。
六月九日晚上,长安已经看不到由前线传来报平安的烽火,玄宗感到大事不妙。第二天,召集宰相谋议。杨国忠不思退敌之计,只望赶快逃跑。他已派人叫剑南节度副使在他的老家作过部署,于是首倡幸蜀之策。玄宗别无选择,只好答应。十一、十二两日,京师中的百官及市民,惊忧奔走,纷纷逃往山中或乡里。十三日,当早朝的几个官员来到朝廷,才发现已人去殿空。原来玄宗与亲信大臣、杨贵妃及其亲人、部分皇族及亲近宦官,在杨国忠亲领的扈从军士保护下,已于半夜悄悄离京了,连住在宫外的妃、主、皇孙及王公大臣,也未及通知。
玄宗仓惶逃离长安,出乎叛军的意外。“安禄山不意上遽西幸”,整整过了10天,才派遣孙孝哲将兵攻入长安。叛军入长安,大肆抢掠,“大索三日,民间财资尽掠之”。于是长安和关中人民纷纷起而抗击叛军,表示“愿戮力一心,为国讨贼”。由于安禄山的将帅,“皆粗猛无远略,既克长安。以为得志,日夜纵酒,专以声色为事,无复西出之意”。故叛军占据长安之后,再无法西进一步。