凶猛的骑兵面对百米开外的弩手毫无还手之力,史思明见势不妙撤军离去,找地方停驻下来等候步兵。
有村民向唐军反映,看到叛军五千步兵从饶阳方向赶来,昼夜行军一百七十里,正在九门(今河北藁城以南)附近休整。
李光弼得讯大喜,立刻派出四千步骑兵,沿着滹沱河悄然行进。到达九门时,叛军正在埋锅造饭。唐军布置好进攻队形,猛然掩杀过来,毫无防备的叛军被杀了个精光。
史思明得知步兵覆没,退入九门防守。
常山郡所属九县,七县已经归附,只有九门、藁城仍在叛军手中。李光弼派将领张奉璋戍守石邑(今河北获鹿县南),其余县城各派三百士卒驻防。
两军对峙四十余天,史思明切断唐军粮道。还好颜杲卿在起事前储备有不少粮食,将士尚能果腹。但城中无草,战马只能啃吃苫席,长此以往势必影响战力。
李光弼想出个好办法,让士卒身着重甲,推着五百辆车到石邑取草,由一千弩手列成方阵护送,叛军一靠近立即射击。蔡希德发兵攻打石邑,也被张奉璋所败。
眼见叛军越聚越多,李光弼向郭子仪告急。
四月初九,郭子仪出井径与李光弼会合,步骑兵累计达到十余万之多。这些将士可不是地方上的那些团练,而是与范阳叛军相同的边防精锐。
在经历了安史之乱最初四个多月的颓势后,大唐终于在正面战场上形成了兵力优势。
四月十一日,两军在九门以南展开对决,史思明大败,李立节被浑释之的儿子、中郎将浑瑊一箭射死。史思明收拾余众逃奔赵郡(今河北赵县),蔡希德逃往钜鹿(今河北邢台巨鹿)。
史思明由赵郡进入博陵(今河北定州境),因恼怒博陵归附唐军,一口气杀光了郡府所有官员。
河朔百姓也从叛军的祸害中清醒过来,不在逃匿躲避,以村落、乡镇为单位联合起来对抗杀戮。这些自发组织的武装,少的千余人,多达上万人,等到郭子仪、李光弼大军来临,他们争相出来替唐军效力。
四月十八日,唐军攻克赵郡,郭子仪生擒四千人,只斩杀了安禄山任命的太守郭献璆,其余全部释放。
李光弼进击博陵,在史思明的顽强抗击下十天未克,领军赴恒阳(今河北曲阳)休整。
史思明收拢数万被打散的士卒卷土重来,进袭常山。郭子仪挑选精锐迎战,三天后抵达行唐。叛军疲惫,向南退却。郭子仪追击,在沙河(今邢台沙河)再次击败史思明。
蔡希德从钜鹿撤回洛阳告急,安禄山增派给他两万兵力,让他与史思明会合,又让牛廷玠从范阳调集万余镇兵援助史思明,三方合兵五万余人,其中同罗、曳落河就占了五分之一。
郭子仪刚到恒阳,史思明大军已至。郭子仪见其势大,使出疲兵之计坚守不出,叛军来则战、去则追;昼间显示兵力,夜晚偷袭敌营,搞的叛军片刻不得消停。
数天过后,郭子仪、李光弼见叛军士气低迷,纵兵出击。
五月二十九日,双方在嘉山(今河北曲阳东)会战,唐军大胜,斩首四万级,俘获千余人。激战中,史思明战马中箭跌落于地,他狼狈起身,披散着头发,光着脚逃出战场,直至夜幕时分,才拄着着断枪一瘸一拐回到营中。当晚,率残部逃奔博陵坚守,无力再战。
朔方军自年初接敌,在四个多月的时间里屡战屡胜,声威大震,河北十余郡乘势杀掉守将归降,渔阳通路断绝。
河北、河南各地军民从安禄山最初的闪击中醒过味来,经过残酷战场的考验,幸存下来的团练积累起了战斗经验,不再畏敌如虎,打的越来越有章法。
平原太守(今山东德州东南)颜真卿,是河北各郡最早站出来抗击叛军的郡守。