唐朝从高宗以来,边疆一直有重兵屯戍。到玄宗统治前期,为了加强边境的防御,又在边境的若干重要地区增设军镇。军镇管辖几个州,主将叫节度使。节度使起初只管军事,后来兼管行政和财政,权力很大。他们是和宰相地位相近的重臣,宰相往往出任节度使,节度使有功也往往入朝做宰相。这就是所谓“出将入相”。天宝初年,边境的10个节度使共拥兵49万,而唐中央禁军不过12万。
唐玄宗统治后期,政治日趋腐化。自杨贵妃入宫后,唐玄宗过着“春宵苦短日高起,从此君王不早朝”的淫逸生活,终日沉湎于《霓裳羽衣曲》的歌舞声中。宰相李林甫同杨贵妃的哥哥杨国忠把持朝政,飞扬跋扈,干尽了罪恶勾当。
身兼范阳(今北京西南)、河东(今山西太原)、平卢(今辽宁锦州西)三镇节度使的安禄山,为人狡诈,善逢迎,因请求做杨贵妃的养子,很得玄宗欢心,并取得信任,官运亨通,是势力最大的军阀。他看到唐玄宗荒淫昏乱,内地防卫力量薄弱,“取而代之”的野心膨胀起来。经过10年左右的准备,于公元755年11月,安禄山串通部将史思明,以讨伐杨国忠为名率15万大军南下反唐,“安史之乱”爆发。
唐肃宗即位后,为了收拾残局,重振大唐,他聘用隐士李泌为他出谋划策。唐肃宗听从李泌的建议,礼贤下士,使许多散失的大臣前来依附。唐肃宗又调郭子仪领着5万人马赶到武灵,很快组成了一支平定叛乱的队伍。
肃宗任命郭子仪为兵部尚书、灵武长史;任命李光弼为户部尚书、北都留守;任命颜真卿为工部尚书兼御史大夫,准备讨伐叛军。
郭子仪率领兵马从洛交(今陕西富县)攻河东。攻占河东、潼关后,又去攻打长安,虽然没有成功,但有效地抗击了叛军的进攻,为朝廷战略反攻赢得了时间。
9月间,广平王李豫收复了长安。3天后,郭子仪率军攻克了华阳、弘农二郡,又与回纥兵两面夹击洛阳城。叛军大败。收复洛阳后,肃宗迁回长安。不久,太上皇玄宗也从蜀中回到长安。
公元758年,唐肃宗命郭子仪、李光弼率领20万兵马讨伐安庆绪。郭子仪连续打败叛军,安庆绪退到邺城固守。郭子仪与其他军队包围邺城,安庆绪陷入困境,急忙向史思明求救,并答应将大燕帝位让给史思明。史思明率领范阳13万兵马,前去援救安庆绪。
唐军因为指挥不力,未能攻下邺城。史思明因为分赃不均,就杀了安庆绪,自称大燕皇帝,改元顺天,将范阳定为燕京。之后,他派儿子史朝义留守范阳,自己率领大军渡过黄河,连续攻占了汴州、郑州和洛阳。
史思明生性多疑,残忍好杀。史朝义性情谦虚,爱惜兵士,所以很受将士们的爱戴和拥护。拥护史朝义的将士们杀死了史思明,立史朝义为皇帝。由于叛军内部互相残杀,从而严重削弱了叛军的势力。
两京收复后,郭子仪返回长安,肃宗非常高兴,他说:“大唐的天下能够保住,全是你的功劳啊!”当时大臣鱼朝恩嫉妒郭子仪,怕他功高望重,对自己不利,于是陷害郭子仪。肃宗听信谗言,剥夺了郭子仪的兵权。
肃宗去世了,代宗李豫即位。代宗任命雍王李适为天下兵马元帅,郭子仪为副元帅,在陕西会合各路人马和回纥援军,联合讨伐史朝义。史朝义在唐回联军的紧逼下,走投无路,只得向北面的契丹逃窜。后来,史朝义在树林中上吊自杀了。
至此,长达八年的安史之乱终于结束了。“安史之乱”是唐朝由盛而衰的转折点。安史之乱使唐朝中央集权势力大大削弱,统一局面被破坏,从而导致了藩镇割据的局面形成。