646年,铁勒九姓大首领率众降,唐廷分置瀚海、燕然、金微、幽陵等九都督府,以仆骨歌滥拔延为右武卫大将军、金微都督,后讹传为仆固氏。仆固怀恩是其 孙,世袭金微都督,自幼骁勇果敢。安史之乱爆发,他任朔方左武锋使,跟随郭子仪开始了平叛的战斗生涯。754年十一月,击败叛将高秀岩,收复了静边军(山 西右玉)。十二月十二日,叛将薛忠义率兵反扑,郭子仪派李光弼和仆固怀恩等人分兵进击,大破薛忠义,斩杀叛将周万顷,坑杀叛军骑兵7000余人,获得了唐 军开战以来的第一场胜利。756年,仆固怀恩配合李光弼与史思明战于常山、赵郡、沙河、嘉山等地,屡败史思明。七月,唐肃宗李亨即位后,他随郭子仪前往灵 武,保卫李亨。九月,叛将阿史那从礼引诱各部藩兵数万人,集结于经略军,准备进攻灵武,仆固怀恩随郭子仪迎击。初战,其子仆固玢战败投降,随后又逃回来。 仆固怀恩将其子痛骂一顿后斩首示众。将士们个个敬畏,作战时人人奋勇,大破叛军。李亨因兵力不足,派仆固怀恩和敦煌王李承寀使回纥借兵,仆固怀恩顺利完成 使命。
唐肃宗至德二年(757年)二月,仆固怀恩又跟从郭子仪攻克冯翊、河东两郡,袭破潼关。不久,贼将安守忠等人率大部叛军进攻唐 军,双方苦战两天,唐军不支溃败,仆固怀恩退至渭水,由于没有舟船可渡,仆固怀恩抱着所骑战马的脖子渡河,幸免一死。五月,贼将李归仁率劲骑五千邀击郭子 仪于三原北, 子仪窘急 。
九月,回纥王子叶护、将军帝得率领的4000精骑来到长安,这支部队是李亨和郭子仪都盼望已久的。擅长指 挥骑兵的仆固怀恩奉命率领这支精兵,随唐军元帅广平王李俶(后更名李豫,即唐代宗)和副元帅郭子仪出战。九月二十七日,唐军15万于长安西南的香积寺列 阵,李嗣业为前军,郭子仪为中军,王思礼为后军。长安的叛军出兵10万迎击。叛将李归仁首先冲锋,唐前军初战不利,向后败退。李俶立刻命仆固怀恩率领回纥 精骑投入战斗,全歼了这支部队。唐军此战歼敌6万余人。叛将安守忠、李归仁等见无法再在长安立足,只好仓皇逃走。
第二天早上,李俶率 军进城,百姓列队欢迎,很多人都感动得流下眼泪。十月十六日,郭子仪与叛军在新店大战,仆固怀恩率领的回纥精骑又一次在战斗中发挥了重要作用。此战唐军大 胜,斩俘10万余人。收复洛阳后,仆固怀恩因战功加开府仪同三司、鸿胪卿,封丰国公,食邑二百户。758年八月,回纥可汗又派来3000骑兵,李亨又把他 们交给怀恩指挥。十月,他随郭子仪北渡黄河进击,破叛将安太清,攻下怀州、卫州,在愁思冈击败安庆绪,常任先锋,勇冠军中。
759年 五月二十三日,李亨下诏以李光弼代替郭子仪为副元帅后,仆固怀恩担任他的副将。朔方军习惯了郭子仪的宽厚,不喜欢李光弼的严正治军。李光弼受命时怕事情有 变,于夜间率500骑驰入营中,到达后立刻发号施令,第二天军容就焕然一新。但左厢兵马使张用济对此非常不满,想率兵驱逐李光弼,请回郭子仪,但被仆固怀 恩和康元宝以 会连累郭公 为由劝阻。李光弼传召张用济,张用济故意迟到,李光弼为整肃军纪将其斩首。接着又传召仆固怀恩,仆固怀恩心中害怕,提前到达, 李光弼请他入帐谈话。不一会儿,守门人报告李光弼说: 有500藩兵来到营前。 李光弼大惊。这时仆固怀恩起身来到营门,责备部下说: 告诉你们别来,为 什么违抗命令? 李光弼明白他是有备而来,于是随机应变说: 士卒跟随主将,没有过错。 命令拿出酒肉分赏仆固怀恩的士卒。
七月,仆 固怀恩受封朔方节度副使、太常卿,进军大宁郡王。他随后一直跟随李光弼作战,参加了河阳之战,进攻怀州,擒获叛将安太清。761年二月,李亨在时机尚未成 熟时命令李光弼进军收复洛阳。李光弼上书朝廷,指出叛军兵锋尚锐,不可轻率进攻。李亨相继遣使,催李光弼出兵。李光弼不得已,只好下令李抱玉守河阳,自与 仆固怀恩会同鱼朝恩及神策节度使卫伯玉进攻洛阳。李光弼命令仆固怀恩依托邙山据险布阵,但他却布阵于平原。李光弼指出: 据险列阵,可进可退;若在平原列 阵,一战不利就会全军覆没。 命仆固怀恩移阵于险要之地,遭到拒绝。史思明乘唐军列阵未定,突然发起攻击。唐军大败,死伤数千人,河阳、怀州相继失陷。李 亨念他以往的功绩,将他召回担任工部尚书。唐代宗李豫(即原来的广平王李俶)即位后,拜他为陇右节度使,未上任,又改封朔方行营节度,辅佐郭子仪。
762年九月,登里被史朝义所诱,以为中原无主,有机可乘,率众十万来犯,关中大震。仆固怀恩与其母奉命出使,化解了这次危机,登里还自动请缨去助讨史 朝义。于是李豫命雍王李适(即后来的唐德宗)为行营元帅,仆固怀恩为副元帅,向洛阳进军。十月二十八日,唐军与史朝义在洛阳城外大战,大胜,斩首6万余, 俘获2万余。此后回纥兵对洛阳大肆劫掠,火光数日不灭,百姓死伤数以万计。叛军在此战后大势已去,李适和仆固怀恩继续进军,势如破竹,其子仆固瑒也屡立战 功,叛军大多望风而降。史朝义走投无路,于763年正月自杀,安史之乱终于被平定。战后仆固怀恩以功迁尚书左仆射兼中书令、河北副元帅、朔方节度使,加封 户四百。
李豫此前下诏只杀史朝义,其他人一律赦免。所以叛将薛嵩、张忠志、李怀仙、田承嗣见到仆固怀恩后都对他叩头,表示愿意为他效 力。仆固怀恩认为自己功高,而且叛乱已经平定,害怕会就此失势,于是请求朝廷以河北之地封给这四人,自己暗自联结他们作为外援,从此造成了唐朝多年不能平 定的四镇之乱。不久,仆固怀恩受封太子少师,奉命送回纥兵返回,回纥兵沿途搜掠财物,州县供给稍有不如意,立刻行凶杀人。当时担任赵城县尉的马燧(后来成 为唐朝一代名将)看见这种情况后对泽潞节度使李抱玉分析说怀恩有反意,应及早提防,李抱玉深以为然。回纥兵经过太原时,河东节度使辛云京害怕怀恩和回纥兵 合谋袭击,于是闭门自守,不犒劳军队。怀恩父子往来经过都吃了闭门羹后,自然大怒,上书报告,也没有得到答复。他率朔方军数万人驻扎在汾州,等待朝廷命 令。