758年,唐肃宗任命郭子仪为中书令,李光弼为侍中,率领二十万兵马讨伐安庆绪。回纥也派了骑兵三千助战,肃宗命朔方左武锋使仆固怀恩率领。同年10月,郭子仪等人接连打败贼兵。安庆绪被围困在邺城,焦急万分。万般无奈之下,他只好向再度谋反的史思明求救,并答应将大燕帝位让给史思明。于是史思明率范阳兵马十三万救援安庆绪。
次年3月,郭子仪败退河阳(今河南孟州)。因分赃不均,史思明杀了安庆绪。回到范阳,他将范阳改称为燕京,称帝。6月间朝廷任命李光弼为朔方节度使、兵马元帅;以朔方节度副使、殿中监仆固怀恩兼太常卿、大宁郡王。仆固怀恩曾是郭子仪的前锋,作战勇冠三军,先后立了很多战功,所以得到重用。
9月,史思明派他的儿子史朝清守范阳,自己率领各路兵马接连攻占了汴州、郑州和洛阳。李光弼率部与叛军相持近一年。
史思明生性多疑,好杀人。他准备立次子朝清为太子,除掉长子朝义。但史朝义为人谦虚,爱护兵士,所以将士们非常信任和拥戴他。将士们杀死了史思明,拥立史朝义为皇帝。但这时,叛军的势力已大为削弱。李光弼在徐州打败史朝义,史朝义只好率领残剩的部队溃逃。