安祿山兵變時,唐玄宗派大將哥舒翰帶領重兵把守潼關,因為潼關形勢險要,道路狹窄。叛將崔乾祐在潼關外屯兵半年,沒法打進去。
叛軍攻不進潼關,但是關裡的唐王朝內部卻鬧起矛盾來。哥舒翰主張堅守潼關,等待時機,但是,宰相楊國忠卻反對這樣做。他知道自己這個宰相最不得人心,如果哥舒翰打勝了,重兵都在哥舒翰手裡,回到長安,他的宰相位子可能就保不住了。於是在唐玄宗面前說潼關外的叛軍已經不堪一擊,哥舒翰守在潼關按兵不動,會喪失殲滅叛軍的時機。
昏庸的唐玄宗聽信楊國忠的話,接二連三派使者到潼關,逼哥舒翰帶兵出潼關。哥舒翰沒法違抗皇帝的聖旨,痛哭一場,只好帶兵出關了。關外的叛將崔乾祐早已養精蓄銳,哥舒翰的二十萬大軍一出關,就中了埋伏,幾乎被叛軍打得全軍覆沒,二十萬人馬只剩下八千。
潼關一失守,關內就沒險可守。從潼關到長安之間的一些地方官員和守兵,都紛紛放棄城逃走。唐玄宗才感到形勢危急,要楊國忠想辦法。楊國忠知道留在長安,沒有生路,就勸玄宗逃到蜀地去。
到了馬嵬驛,隨行的將士又餓又疲勞,實在忍不住了。他們認為,這全是受了奸相楊國忠的累,於是把楊國忠包圍起來殺了。並說:「楊國忠謀反,貴妃也不能留下來了。」唐玄宗為了保自己的命,只好狠了狠心,叫高力士把楊貴妃帶到別的地方,用帶子勒死了。史稱「馬嵬驛兵變」。
經過這場兵變,唐玄宗像驚弓之鳥一樣,急急忙忙逃到成都去了。太子李亨被當地百姓挽留下來主持朝政,就是唐肅宗。