郭子仪是华州(治今陕西华县)人,身高七尺二寸,十分英武高大。他从小就爱弄刀舞剑,练就了一身好武艺。后参加武举,成绩优异,补左卫长史官,又接连担任单于副都护、振远军使等官职。天宝八年(749年),木剌山(在今内蒙古境内)开始修筑横塞军以及安北都护府,郭子仪奉诏前去做了使者。过了不久,又因此地太偏远,加上土地又很贫瘠,不能耕作,不利于战备,又将都护府迁到永清(今属河北),号称天德军。郭子仪同时还兼任九原(今内蒙古一带)太守。
天宝十四年(755年),安禄山反叛,天下大乱。玄宗下诏任命郭子仪为卫尉卿、灵武郡太守,充任朔方军(今陕西北部)节度使。郭子仪率领部下向东挺进,讨伐安禄山。郭子仪本是一位骁勇善战的虎将,与叛军交锋后,很快就收服了静边军,并斩杀叛军大将周万顷,在河曲袭击高秀严,大败贼军。接着,郭子仪指挥大军乘胜收复了云中、马邑等唐朝失地,并攻占了东径关(今山西代县南)。因为军功赫赫,郭子仪被加封御史大夫之职。
不久,安禄山的军队攻陷了常山,这样,黄河以北的很多郡县都相继沦陷于叛军之手。就在这时,唐军的另一位名将李光弼率军攻下了常山,拔掉了这颗硬钉子。郭子仪也率领大军南下井陉关,与李光弼的大军相会合。然后合军一处围歼史思明的军队,大获成功,斩杀敌军数万人,并且攻下了敌军重兵把守的稾城(今属河北)。郭子仪等又挥师南下,进攻赵郡,俘获敌人四千。因为这些人原是穷苦百姓,郭子仪就将他们释放了,而将投靠叛军的赵郡守令郭献处以死刑。
部队休整几天后,郭子仪又班师回到了常山。叛军史思明以为有机可乘,便率数万人尾随北上,想伺机打击郭子仪。郭子仪心中有数,但不动声色,部队有条不紊地往后撤退。当部队行进到行唐(今河北省内)的时候,郭子仪挑选骑兵五百人拍马前来轮番与贼军挑战,就这样双方对峙了三天时间,叛军一无所获,军心开始涣散。不得已,史思明只好仓促带兵逃走了。郭子仪见时机已到,一声令下,众将士向叛军发起了狂风暴雨般的追击,在沙河(今河北大名县东)大破叛军。史思明丢盔弃甲,狼狈逃窜到一个叫常阳的地方,惶惶不可终日。安禄山知道后,心惊胆战,连忙抽调精兵增援史思明。
郭子仪获悉后,一点也不着急,从容地说:“史思明增加援兵,一定会骄傲,轻视我军。敌人轻视我们,我们就一定能战胜他们。”接着,郭子仪便率大军与史思明展开大战。郭子仪亲临前线,处决了一个不称职的部将,用以示众。于是,士兵们个个争先,与敌军展开死战,敌军招架不住,大败而走,唐军乘胜斩杀敌人二千余人,俘虏五百余人,缴获了五百多匹战马,敌人退守营垒不敢应战。
这样,白天,郭子仪就命令将士在敌营前扬威,到了晚上,又命令部下不断骚扰敌军,不给敌军丝毫喘息的机会,叛军的士气也就渐渐衰落下去了。郭子仪便与李光弼、仆固怀恩、浑释之、陈回光等大将与敌军大战,斩获敌首级四万余,俘敌兵一万多。史思明被迫逃向博陵(今陕西境内)。这样,黄河以北的形势急转直下,河北诸郡县的民众纷纷自发组织起来杀死敌人守军,敞开城门,敲锣打鼓,迎接唐军。
郭子仪正要攻打范阳(治今河北涿县),哪料潼关守将哥舒翰被打败,唐玄宗逃亡四川,贼势复振,天下形势一发不可收拾。随后,皇太子李亨在灵武(今宁夏境内)继位,史称唐肃宗。李亨下诏令前线唐军班师回防,郭子仪接到诏书后,便与李光弼率步骑五万勤王灵武。李亨任命郭子仪为兵部尚书、同中书门下平章事等职务,仍然担任节度使。肃宗检阅六军,鼓号齐鸣,向南行进,来到彭原(今甘肃宁县)。宰相房琯自告奋勇,向皇帝请战,率兵讨伐敌军。房琯率军到达陈涛斜(今陕西咸阳东)与叛军相逢,一场大战,王师大败,将士伤亡几尽。从此,肃宗皇帝只有依靠郭子仪统率的英勇善战的朔方军与叛军抗衡。
至德二年(757年),郭子仪率军与叛将崔乾在潼关大战,崔乾兵败,退保蒲津(在山西永济县西)。正好永乐尉赵复与宗室子弟李锋在城中,商议作为内应。郭子仪攻打蒲津,赵复等人杀死守将,开门放进郭子仪大军,崔乾率残部逃往安邑(今山西夏县)。安邑军民假装放他们进城,等到崔乾进城一半,突然放下悬门,伏兵从四面杀出,崔乾死战逃脱。敌将安守忠镇守永丰仓(今陕西安塞)。郭子仪派儿子郭旰率军讨伐。大战数日,斩敌首万余,终于收复永丰仓,但郭旰阵亡。从此潼关、陕郡开始交通。
唐肃宗下诏命郭子仪回凤翔,晋位司空,充任关内、河东副元帅,随后又命郭子仪率师向长安进发,驻扎在水上。敌将安守忠等驻军清渠东。两军大战,唐军不利,丢弃兵器、仪仗大败而逃。郭子仪收拾散兵保卫武功(今属陕西),待罪于朝,不久被降为尚书左仆射。随后随大元帅广平王李绩率大军十五万人收复长安。李嗣业为前军,李绩为中军,郭子仪为副,王思礼为后军,布阵香积寺北。大营距沣水,临大川,横亘三十里。敌将李归仁领精骑挑战,官军喧嚣慌乱,李嗣业率骑兵突然出击,斩敌数十骑,大营安定下来。不久,回纥骑兵赶到。趁敌不备,回纥兵袭击敌人背面,唐军趁机杀向敌军正面,两面夹攻,斩首六万,活捉二万余人,敌军主帅张通儒连夜逃往陕郡。次日,大元帅广平王进入京都,老幼夹道欢呼说:“想不到今天又见到官军!”广平王让将士休息三天,然后率军东征。
安庆绪听说官军将杀到,马上派大将严庄率领十万精兵驻扎陕郡,支援张通儒,旌旗绵延百余里。唐军杀到新店,叛军布阵迎战,一场混战,难分难解。正在胜负未分之际,唐朝大将李嗣业率回纥骑兵从敌军背后发起攻击,只见战马奔腾,尘土飞扬,飞箭射敌,箭不虚发,叛军大乱,叛兵叛将惊慌地说:“回纥兵来了!”不敢恋战,大败而走,抛尸数里,堆满道路。叛将严庄等逃往洛阳,护卫安庆绪渡过黄河逃往相州。王师收复东都。于是河东、河西、河南各州县全部平定。郭子仪因功加司徒,封代国公,食邑千户。入朝,肃宗派仪仗队迎至灞上,犒劳说:“国家重新建立,是卿的功劳啊!”