在郭子仪的指挥下,唐军接连收复潼关(今陕西潼关)、陕州(今河南陕县),然后一举攻下长安。接着,郭子仪又挥军东进,与15万叛军交战于新店(今河南郏县西)。郭子仪派2000名精锐骑兵打头阵,命1000名弓箭手设伏,令回纥军队从敌军背后偷袭,自己则率主力大军迎战。后来叛军中伏,腹背受敌,一溃千里。郭子仪乘胜收复洛阳。消息传到朝中,唐肃宗欣喜万分,立即封郭子仪为代国公。唐肃宗对郭子仪说:“大唐江山虽是朕的,却是由爱卿再造的啊!”
到了唐代宗时,郭子仪再次被任命为副元帅,继续剿灭“安史之乱”的残余部队。唐代宗广德元年(763),持续了七年之久的“安史之乱”终于平息。然而,一波刚平,一波又起,同年,吐蕃乘乱攻占了长安,唐代宗弃都而逃。郭子仪临危受命,率兵声东击西,使吐蕃军队阵脚大乱。他又在长安城中安插内应,里应外合,仅用15天便击退了吐蕃军队,收复长安。
不久,唐朝将领仆固怀恩举兵叛乱,联合回纥、吐蕃军队攻打长安。郭子仪派兵守城,但不出击。他对将士们说:“这些叛军以前都是我的部下,如果速战会激发他们的斗志,而拖延则会让他们无心恋战。”果然,叛军不久便溃散而退。广德二年(764)’仆固怀恩联合回纥、吐蕃等30万大军卷土重来,又攻到长安城下。唐代宗急忙将郭子仪从河中召回,抵御贼兵。郭子仪深知只有争取与回纥结盟,重点打击吐蕃,才能取得这场战争的胜利,于是决定亲自前去游说回纥军。郭子仪以68岁高龄单骑赴回营,既不穿盔甲也不带武器。回纥将领见状连忙上前迎接。郭子仪与回纥将领畅叙“安史之乱”时并肩作战的情谊,终于令回纥与唐朝联盟,粉碎了仆固怀恩的阴谋。