至德二载(757年)九月,朔方军与回纥、西域军大破叛军,收复西京。
李亨(肃宗)即位后,派敦煌王承采与仆固怀恩出使回纥修好请兵。及至回纥牙帐,可汗以女嫁承采,遣首领来朝,请和亲。十一月,回纥可汗派其臣葛逻支率兵入援。
本月,李亨纳回纥公主为妃。回纥遣太子叶护领其将帝德等兵马4000余众,助唐讨逆。亨为速复西京,与回纥约:克城之日,土地、士庶归唐,金帛、子女皆归回纥。
同月,俶率朔方等军与回纥、西域之众15万,号20万讨叛军。朔方军与叛军10战不下,而叛军伏精骑欲袭官军之后。仆固怀恩乃引回纥尽灭其伏兵。唐将李嗣业又与回纥出叛军阵后,与朔方等军前后夹击,叛军大溃,余众逃入城中,当夜,守将安守忠、李归仁等皆遁,唐军遂复西京。
回纥欲践前约,李俶拜于叶护马前。告以今始得西京,如果大肆抢掠,则东京人必固守,请复东京之日再如约,叶护许之。叛将张通儒等收余众保陕郡,安庆绪悉发洛阳兵就通儒以拒唐军。子仪等初战不利,而回纥直出叛军之后,叛众惊呼:“回纥来了!”遂大溃,两军夹击,叛军大败,尸横遍野。安庆绪率余众自洛阳逃往河北。
至德二载(757年)十月十九日,肃宗自凤翔起驾,并遣太子太师韦见素入蜀,奉迎玄宗。十月二十二日,肃宗至望贤宫(今陕西咸阳东),得唐军收复东京捷书。十月二十三日,肃宗入长安,城中百姓出国门奉迎,二十里不绝,拜舞呼万岁。太庙被叛军烧毁,肃宗素服向庙哭三日。同日,玄宗从蜀郡出发回长安。
