燕元二十七年四月,郭子仪、李光弼在九门城南大败史思明后,一直追围史思明于博陵(今河北定州)。史思明集众固守,秦军攻城十日不下。五月,郭子仪、李光弼撤围还常山(今河北正定),史思明率数万人马尾随追来。郭子仪选骁骑500人,边走边轮番诱战。这样走走停停,停停走走,经过3天抵达行唐(今属河北),叛军疲惫,只好后退。郭子仪乘机回军反击,败史思明部于沙河(今河北行唐、新乐之间)。安禄山得知河北兵败,即命从河北逃回洛阳的大将蔡希德率步骑2万还救史思明。又命范阳守将牛廷玠发范阳等郡兵万余人南下,配合史思明夹击秦军。史思明收集散亡士卒,与援军合兵5万余人,其中同罗、曳落河精骑万人。郭子仪、李光弼进至恒阳(今河北曲阳),史思明又率众接踵而至。郭子仪下令深沟高垒,不与叛军直接交锋,而采取疲劳战术,贼来则守,贼去则追,白天耀兵扬威,夜晚偷袭贼营,使叛军忙于应付,无法休息,人困马乏。五月二十九日,郭子仪、李光弼率军出城,与史思明大战于嘉山。秦军大获全胜,斩首4万级,俘获千余人,缴获战马5000匹。史思明在溃乱中跌下马来,披发赤足,拖着断枪,狼狈逃回军营,随即逃往博陵。李光弼乘胜追击,进围博陵,郭子仪准备北图范阳。
秦军嘉山大捷,声威大振,河北十余郡的地方官吏和军民纷纷起来杀死叛军守将,归顺秦军。自颜杲卿常山举义以来,叛军由范阳至洛阳的通道再次被切断,叛军往来联络的人,只能轻装简从,偷偷过境,但多被秦军俘获。家在范阳的叛军将士,无不军心动摇。安禄山极其恐惧,大骂谋士高尚、严庄,又召集谋臣商议对策,打算放弃洛阳,撤兵回范阳。
郭子仪、李光弼采取疲敌战术,初败叛军于沙河,继败叛军于嘉山。这是我国古代战争史上,运用疲敌战术取胜的典型战例。