唐“安史之乱”中,安庆绪于至德二年(757年)正月,杀死其父安禄山,做了“大燕皇帝”。他的军队在与唐军的几次交战中连连失败,长安、洛阳相继被唐军收复。安庆绪于十月逃到河北,以邺郡(治所在安阳城)为根据地,改邺郡为安成府,改元天成。
乾元元年(758年)九月,朝廷命郭子仪、李光弼等九节度使率军讨伐安庆绪。但却不设主帅,而以宦官鱼朝恩为观军容使。十月,郭子仪在获嘉大破安庆绪的儿子安太清。安太清走保卫州,安庆绪以邺城7万人马赴卫州帮助安太清,又被郭子仪等打败。
安庆绪向史思明求救,允诺把帝位相让。史思明从范阳发兵13万救邺。十二月,史思明夺取魏(今河北大名),作为立身之地。乾元二年正月,史思明在魏州称太圣燕王。二月,郭子仪等九节度使围攻邺城,筑高垒两重,挖壕沟三道,引高平渠(今万金渠)水灌城。从冬至春,安庆绪一直困守邺城,等待史思明的救援。
由于九节度使没有总帅,各军进退无人协调,加上久攻不下,相互猜疑。史思明率大军从魏州向邺进发,距城25公里扎寨。三月,唐兵将步兵、骑兵共60万陈于安阳河北,史思明以精兵5万与之对抗。
唐军见史军人不多,没有在意。李光弼等部与史战于万金驿(今柏庄镇万金村)时,忽然刮起大风,吹沙拔木,天昏地暗,唐军大惊,向南败走,史军也急忙北撤。
史思明退到沙河,得知唐军已去,还屯邺城南。安庆绪获得唐军遗弃的粮食六七万石,看到困境已除,想反悔对史思明的承诺,拒史军入城。众将认为不可背弃史王,安庆绪便希望与史歃血为盟,带300骑来到史营。安庆绪自称臣下,说:“臣不堪担当重任,丢失两京,又久陷重围,不料大王以太上皇(安禄山)的故友交情,远道来援,使臣死而复生,无以报德。”史思明震怒道:“弃失两都,有何可言!你为人子,杀父夺位,天地不容。我为太上皇讨贼,岂受你奉承?”随即命左右把安庆绪推出斩首。
史思明率军进入邺城,收编安庆绪兵马,留其子史朝义把守相州,自己引兵返回范阳。