仆固怀恩本来是唐代著名的蕃将。他骁勇善战,晓识戎情,安史之乱,从郭子仪讨贼,屡建殊功。以河北副元帅兼朔方节度使,屯军汾州(今山西汾阳),朔方行营的军队都归他指挥。有一年他曾奉诏与回纥的可汗相见于太原,后又送可汗出塞。河东节度使怕仆固怀恩与回纥合谋攻太原,故紧闭城门,既不犒赏,也不闻问,怀恩因而愤怨在心。他以被人“谗言交构”和朝廷“内忌忠良”为理由,率众叛唐。一方面放出谣言,说朔方军老帅郭子仪已被宦官鱼朝恩杀害,一方面积极谋取太原。
代宗广德二年(764年)八月,仆固怀恩纠集回纥、吐蕃等部数十万人进攻长安,京师大为惊恐。代宗急诏郭子仪帅诸将出镇奉天,并召子仪询问破敌方略。子仪说:“仆固怀恩不能有所作为!怀恩虽勇敢,但对部下缺少恩德,士卒人心不归附他。他所以能入关侵掠,不过是顺应将士们东归的心意而已。他所统帅的士兵,都是臣以前的部下,一定不忍心与我锋刃相见。”十六日,郭子仪出发赴奉天。
九月十七日,代宗任命郭子仪摄理北道邻宁、泾原、河西以来通和吐蕃使,任命李抱玉摄理南道通和吐蕃使。子仪听说吐蕃已逼近那州,即遣其子朔方兵马使郭曦率兵万人前去援救。十月初,仆固怀恩带领回纥、吐蕃部队到达邻州(今彬县),邯宁节度使白孝德和郭曦闭城拒守。
仆固怀恩与回纥、吐蕃的军队进逼奉天,京师戒严。将军们请求出战,郭子仪不许,说:“胡虏深入吾地,利在速战。我们坚壁以待,敌人以为我们胆怯,必不戒备,便可趁机击败它。若匆忙应战而不能取胜,则众心散矣。再敢提出战者斩首”。初七日晚,子仪带兵出城,列阵于乾陵以南。次日凌晨,敌人以为唐军无备,大举而来,欲行偷袭。忽见唐军伏兵四起,惊慌不已,丢盔撂甲,不战而退。郭子仪派副将李怀光等率5000骑追逐,回纥狼狈逃窜。
过了一年,即永泰元年(765年)九月,仆固怀恩又撮合回纥、吐蕃、吐谷浑、党项、奴刺数十万兵马卷土重来。浩浩荡荡,从三个方面向唐挺进:吐蕃大将尚结悉赞摩、马重英等从北道进逼奉天;党项元帅任敷、郑庭、郝德等从东道进逼同州;吐谷浑和奴剌的部队从西道进逼豁厘(周至)。回纥跟随在吐蕃的后面,仆固怀恩率朔方部队又随其后。
郭子仪派人回朝奏报说:“胡虏皆为骑兵,进军如飞,不可轻忽。请皇上命凤翔节度使李抱玉、滑濮节度使李光庭、邻宁节度使白孝德、镇西节度使马璘、河南节度使郝庭玉、淮西节度使李忠臣,各出兵控制住要冲之地。”代宗听从子仪的建议。各道节度使大多不及时出兵。李忠臣接奉诏命,立刻下令整军出发。将领们请选一个吉利的日子,忠臣生气地说:“父母有急难,难道也要择吉日而后救助吗!”于当天就引军出发。
后来,仆固怀恩在行军的路上突发重病,被抬了回去,初八日,死于鸣沙。其部将为争权而互相残杀。怀恩违抗诏命三年,两次引胡虏入寇,为国家大患。代宗为其隐讳,在制敕中未曾提及造反二字。闻其死,代宗伤痛地说:“怀恩本来不想造反,是受左右之人蛊惑的啊!”