(今河北藁城西北)、嘉山(今曲陽境)等地,迫安祿山一度棄洛陽回范陽。六月,玄宗強令哥舒翰進軍洛陽,結果導致18萬唐軍幾乎全軍覆沒。哥舒翰被脅迫投降,潼關失守。玄宗棄長安奔蜀,在途中馬嵬驛,將士怒殺楊國忠,迫玄宗縊死楊貴妃。玄宗留太子李亨收拾殘局。郭子儀、李光弼率軍退入井陘,安軍再陷河北。
李亨在靈武即帝位(唐肅宗),任郭子儀為兵部尚書,李光弼為戶部尚書,長子李椒為天下兵馬大元帥。至德二年(公元 757年)正月,李光弼在太原之戰中大敗史思明,捍衛了唐王朝的朔方戰略基地。這時,安慶緒殺其父安祿山取而代之,擬奪取淮南切斷唐軍後勤供應, 並率軍 13萬攻睢陽。唐將張巡與許遠以 6800人堅守 10個月,終因孤立無援,城破殉難,卻為保障江淮、牽制安軍起了重要作用。九月,李椒、郭子儀率軍15萬並借回紇騎兵4000攻佔長安,殲滅安軍 6萬餘。後在陝郡之戰中又殲安軍10萬餘,一舉收復洛陽。
一年後,肅宗才派郭子儀率軍 20萬進攻盤踞鄴城(今河南安陽)的安慶緒。安慶緒向史思明求援,史思明率軍 13萬往救,在擊敗唐軍後,誘殺了安慶緒,兼併其軍,留長子史朝義守鄴城,自回范陽。乾元二年 (公元759年)九月,已稱大燕皇帝的史思明統兵南下,連陷汴州(今河南開封)、洛陽。後屢被唐軍擊敗,遂各取守勢,相持年餘。肅宗不顧史軍尚銳,令李光弼反擊洛陽,被史思明擊敗。史思明令史朝義攻潼關,在陝郡被唐軍擊敗。史思明欲殺之,反被史朝義所殺,取而代之。
接著,玄宗、肅宗相繼去世,李椒即帝位(唐代宗)。次年九月,代宗請回紇兵助討史軍,在各唐軍策應下,攻克洛陽,斬俘史軍 8萬,乘勢收復鄭州、汴州,繼在衛州(今河南衛輝)又殲史軍4萬餘。史軍將領紛紛降唐,史朝義連續奔逃,終於走投無路,在溫泉柵(今河北豐潤東)自殺身亡。歷時七年又兩個月的安史之亂平。
(安祿山叛亂)
唐玄宗在位時,為了加強邊境的防禦,在重要的邊境地區設立了十個軍鎮(也叫做藩鎮),軍鎮的長官叫節度使。節度使帶領軍隊,還兼管行政和財政,權力很大,地位很重要。按照當時的慣例,節度使立了功,就可能被調到朝廷當宰相。
李林甫掌權以後,不但排擠朝廷的文官,還猜忌邊境的節度使。擔任朔方等四個鎮節度使的王忠嗣,立了很多戰功。他手下的將領哥舒翰、李光弼,都是驍勇善戰的名將,李林甫看王忠嗣的功勞大,威望高,怕他被唐玄宗調回京城當宰相,派人向唐玄宗誣告王忠嗣想擁戴太子謀反,害得王忠嗣險些丟掉了性命。後來還是哥舒翰在唐玄宗面前苦苦為王忠嗣申冤,玄宗才免了王忠嗣的死罪,改為降職處分。王忠嗣受不了這個冤枉,一氣之下就病死了。
當時,邊境將領中有一些胡族人。李林甫認為胡人文化低,不會被調到朝廷當宰相,就在唐玄宗面前竭力主張重用胡人,理由是胡人善戰,而且跟朝官沒聯絡,靠得住。唐玄宗本來最怕邊境的將領謀反,就聽李林甫的話,提拔了一些胡人當節度使。
在這些胡族的節度使中,唐玄宗、李林甫特別看中一個平盧(治所在今遼寧朝陽)節度使安祿山。
安祿山年輕時在平盧軍裡當過將官,因為不遵守軍令,打了敗仗。邊境守將把他解送到長安,請朝廷處分。當時的宰相張九齡為了嚴肅軍紀,把安祿山判了死刑。唐玄宗聽說安祿山挺能幹,下令把安祿山釋放。
張九齡跟唐玄宗說:“安祿山違反軍令,損兵折將,按軍法不能不殺;而且據我觀察,安祿山不是個善良人,不殺恐怕後患無窮。”
唐玄宗不聽張九齡勸諫,還是赦免了安祿山。後來,張九齡被撤了職。安祿山卻靠他