天宝十四年(755年)十一月初九,范阳、河东、卢龙三镇节度使安禄山以诛杨国忠为名起兵反唐。十二月十三日攻占洛阳。天宝十五年(756年)正月,安禄山在洛阳自称大燕国皇帝,建元圣武。天宝十五年(756年)五月,安史叛军破潼关。六月十三日,玄宗带领少数妃嫔、随臣逃出长安。十四日,玄宗在逃亡途经马嵬驿时,发生了兵变。
太子李亨同亲信密定之后,派心腹宦官李辅国去拉拢左龙武大将军陈玄礼,密谋策划以非常手段对付杨国忠,这一行动或许在长安城内就已开始。玄宗避乱出逃,离开京师时的全部队伍约有3000余人,殿后的太子李亨的后队人马就有2000人,其中包括禁军中的精锐部队——飞龙禁军。他的儿子广平王李俶(后来的代宗李豫)和建宁王李倓在出逃的队伍中“典亲兵扈从”,这给李亨发动提供了千载难逢的好机会。六月十四日,逃亡队伍到达马嵬驿(今陕西兴平市西北23里)。禁军将士因饥疲劳顿,已有不逊怨言。队伍的骚动给暗中操纵与策划兵变的太子李亨提供了绝好时机。杨国忠被布置周密的禁军追到马嵬驿的西门内乱刀砍死,割下首级。他的儿子杨暄及韩国夫人也被乱军杀死。不过,杀死杨国忠父子,事变才只是完成了第一步。 逼杀杨贵妃,是李亨密谋马嵬兵变的又一步骤。但令李亨始料不及的是,陈玄礼身为禁军首领,在处死贵妃后,带头向玄宗表示效忠。在诛杨一事上陈玄礼与李亨意见一致,但是他仍然忠于玄宗,这确保了玄宗的人身安全。李亨一手策划马嵬兵变,诛杀杨氏,矛头已指向了玄宗。玄宗入蜀不可逆转,父子分道扬镳也已势在必行。李亨不可能再随父皇一路西行,只有分兵,另谋发展。李亨分兵后的境况也极其窘促,一路之上,草动风吹,仓皇颠沛,惊魂难定。直到顺利抵达朔方军治所灵武,狼狈不堪的太子李亨一行才得以喘息。
灵武称帝
天宝十五载(756年)七月九日,李亨在杜鸿渐等人的陪同下,抵达朔方军大本营灵武。经过一番布置与筹划,七月十二日,李亨在灵武城的南门城楼,举行了简单的登基仪式。登基后,改年号为至德,并且将当年改为至德元载,玄宗被推尊为太上皇。当天,肃宗就派使者前往四川,向太上皇报告这一消息。
九月十七日,李亨派出的唐朝大军以正副元帅广平王李豫、郭子仪为中军,李嗣业为前军,王思礼为后军,率朔方等军及回纥、西域之兵十五万人,号称二十万大军,从凤翔出发,东讨叛军。李亨命令广平王李豫与回纥太子叶护结为兄弟,回纥太子叶护大喜,称广平王李豫为兄。官军进至长安西,于香积寺北大破叛军,斩敌六万人,叛将张通儒弃城逃走,官军一战收复长安。回纥军想进长安抢掠。原来肃宗急于收复京师,与回纥相约定攻克长安时“克城之日,土地、士庶归唐,金帛、子女皆归回纥。”这时,回纥叶护要按约定执行。广平王李豫与回纥叶护太子说:“现在刚克复了京师,如果大肆进行抢掠,那么在东京的人就会为叛军死守,难以再攻取,希望到东京后再履行约定。”回纥叶护太子吃惊地跳下马跪下来捧着广平王李豫的脚,说:“我当率军为殿下立刻前往东京。”于是与仆固怀恩率领回纥、西域的军队从长安城南经过,扎营于水东岸。(当时的“拜”不等于“跪拜”,唐朝太子广平王李豫只是拜没有跪,而回纥叶护太子立即又拜又跪)。百姓、军士以及胡人纷纷拜广平王李豫,都哭泣着说:“广平王真不愧汉夷各族的主人!”肃宗得知后高兴地说:“朕不如广平王!”于是广平王李豫整军入京城,城中百姓不分男女老幼,都夹道欢呼悲泣。李豫留在长安,镇守安抚了三天后,率领大军向东去收复洛阳。任命太子少傅虢王李巨为西京留守。
唐朝官军与回纥军大破叛军,叛军严庄与张通儒等人放弃陕郡逃跑,广平王李豫与郭子仪进入陕城,仆固怀恩率兵分头追击叛军。 严庄先进入洛阳向安庆绪报告败状。安庆绪率领他的部下逃跑,放弃洛阳。回纥军进入洛阳府库收取财帛,在市井村坊劫掠财物三天。唐朝拿出罗锦一万匹给回纥,回纥停止了劫掠。
至德二年(757年),安庆绪杀死安禄山,肃宗没有听从谋士李泌的建议趁乱直捣叛军老巢,错失歼敌良机。乾元二年(759年)三月,安史叛军与唐军在相州展开激战,肃宗却为了防范武将而不设元帅,只派宦官鱼朝恩监军,鱼根本不懂兵法,不知用兵,致使唐军大败,鱼朝恩将相州失利的责任推到郭子仪身上,肃宗李亨不明是非,罢免了郭子仪兵权。