在这个关系着大唐危亡的关键时刻,郭子仪捐弃前嫌,处处以国事为重,举荐李光弼率兵东进。天宝十五年(756)正月初九,李光弼受命为河东节度使。郭子仪从朔方军分出一万名将士,交给李光弼指挥。李光弼是契丹族人。其父李楷洛是有名的入唐番将,官至左羽林大将军、朔方节度副使,封爵为蓟郡开国公。李光弼受尚武家风熏陶,长于骑射,21岁时以门荫入仕,从天宝初年起,先后担任过宁朔郡(内蒙古鄂托克旗南)太守、河西节度副使、单于大都护府副大都护(从三品)等职务,承袭父爵蓟郡开国公。李光弼出身虽是番将,但受过良好的儒家正统教育,“能读《左氏春秋》,兼读太史公、班固之学”。其为人崇礼尚义,有勇有谋。治军严整,在抗击吐蕃、招讨吐谷浑、镇抚突厥、回纥等部族的戍边生涯中,功绩显著,颇有威名。史载安思顺任朔方节度使期间,郭子仪与李光弼同为其部下大将,但两人关系僵持,并不和睦,即使同桌进餐,也是相互斜视,不说一句话。郭、李不和,本来没什么私家宿仇,而是起于军队乃至朝廷的派系朋党斗争。郭子仪一直是朔方节帅张齐丘、安思顺的部下。其时,朝野上下皆以安思顺、安禄山和李林甫为内外朋党。李光弼、哥舒翰先前都是王忠嗣的部将,受其知遇之恩。天宝六载(747),王忠嗣被李林甫陷害贬官,两年后以45岁盛壮之年,暴卒于贬所。哥舒翰与李光弼等人积怨于心,耿耿不忘。等到郭子仪代替安思顺为朔方节度使后,李光弼便想脱身离去。正在犹豫之际,紧急诏命传到。李光弼起初不明内情,没有想到郭子仪会推荐自己,以为凶多吉少。他独身来到郭子仪的大堂前说:“我早就情愿一死了之。只请求不要罪及我的妻儿家人,牵连无辜!”郭子仪拉住李光弼的手,请到堂上相对而坐道:“如今国家有难,军情紧急。你我二人当以国家安危为重,岂能再斤斤计较于个人私怨。这次的东征重任,只有你才能担当啊!”郭子仪传令召集众将,当场宣读诏书,请李光弼接诏领命。当李光弼率军出发时,郭子仪又是执手相送。两人以尽忠报国相互勉励,洒泪而别。对郭子仪捐弃旧嫌,举荐李光弼的高风亮节,唐代人士和后世史家,无不感慨赞美。
郭子仪令李光弼率军由太原出井陉口(今河北省井陉县),进入河北中部,收复常山(今河北正定)。二月,李光弼率蓉、汉步骑万余人、太原弩手千人,东出井陉,直指常山。常山守将安思义为反正的守城团练兵所擒,投降李光弼。史思明闻常山失守,便想解饶阳之围,率骑兵二万余直奔常山,被李光弼击败,只好退守九门(今河北藁城西北)。李光弼命裨将张奉章率兵五百镇守石邑(今河北获鹿东南),以防叛军断其粮草。而此时的郭子仪正紧急回到朔方,补充军队和粮草后,到了三月的时候,开始进至雁门(今山西代县)。此时,由于叛军援军陆续赶来,而此时的叛军蔡希德又领兵进攻石邑,截断了常山粮道,危机之中,李光弼只得派使者向郭子仪告急。然而,此时的史思明得知这个消息后,亲率两万骑兵从西包围李光弼,争夺常山,双方激战40多天,相持不下。郭子仪接到告急书,便星夜兼程,率兵东出井陉,于四月初九,赶到常山,与李光弼会师。郭子仪的大军一到,唐军兵力已达十多万人,粮草也源源不断地运来,士气大振。郭子仪急率军出井陉,与李光弼合兵十余万,在常山西南九门县(今河北省藁城西北)大败史思明,然后乘势攻入赵郡(今河北赵县)。四月十一日,郭子仪,李光弼率军与史思明战于九门城南,史思明大败。叛军骁将李立带被郭子仪部将浑碱射死。蔡希德狼狈逃往巨鹿(今河北巨鹿)。史思明自知不敌,率残部逃奔赵郡(今河北赵县)。
郭子仪、李光弼乘胜率大军南下,直抵赵郡。史思明立脚未稳,逃往博陵。四月十八日唐军收复赵郡,并杀死叛军的赵都太守郭献璎,缴获叛军的兵器数万。郭子仪为了分化瓦解敌人,将俘获的叛军4000人,不加杀戮,全部释放。郭子仪、李光弼还十分注意军队纪律,攻击赵郡时,士兵有乘乱抢劫的,李光弼坐于城门,将士兵抢来的东西全部收缴,退还给主人。当时河北人民都非常痛恨叛军的残暴,自发地组织起来,抗击叛军,多至二万人,少者万人。及见郭子仪、李光弼大军一到,都欢天喜地,纷纷出来支援官军。郭子仪、李光弼乘胜追击,围攻博陵,因史思明集众固守,交战十天仍然没有攻下博陵,无奈之下,便于五月收兵回常山。史思明率兵数万尾随唐军,郭子仪挑选精骑边走边轮番诱战,三天后到达行唐(今河北行唐),叛军被拖得疲惫不堪,只好退走。郭子仪乘机回军反击,败史思明于沙河(今河北行唐、新乐之间)。
安禄山闻听史思明大败,恼羞成怒,当即派遣蔡希德率精锐骑兵两万前来增援史思明。史思明收集逃散士卒,与援军合兵五万,气势汹汹直逼郭子仪、李光弼驻守的恒阳(今河北曲阳)。郭子仪见叛军来势凶猛,不可一世,为了避敌锋芒,实行疲敌政策,一方面深沟高垒,加强工事,积极做好反攻准备;一方面采取敌来则守、敌去则追的战略战术,白天耀武扬威,夜里偷袭敌营,不给叛军以喘息的机会。史思明的将士由于无法休息,双方对阵几天后,叛军疲惫不堪,士气低落。郭子仪见歼敌的时机已到,于是与李光弼一起率军奋然出击,在恒阳境内的嘉山再次大败史思明,杀敌四万余人,俘虏千余人,缴获战马五千匹。叛军首领史思明中箭落马,丢盔弃甲狼狈逃回营中。郭子仪、李光弼率军乘胜追击,围史思明于博陵(今河北定县)。嘉山一战,唐军声名大振,河北中部十余郡的地方官和军民纷纷起来诛杀叛军官吏,归顺朝廷。叛军由范阳至洛阳的通道再次被切断,叛军来往联络的人,只能轻装简从,偷偷过境,但多被唐军俘获,经过这几次的战役,给安禄山以沉重的打击,唐军局势稍有好转。
随后,郭子仪又派左兵马使李光弼、右兵马使高浚、左武锋使仆固怀思、右武锋使浑释之四员将领,分路迎击,大破薛忠义,斩杀叛将周万顷,坑杀叛军骑兵七千人,打了一个漂亮的歼灭战。这是开战以来唐军取得的第一场胜仗。接着,郭子仪指挥大军包围云中城(山西大同)。同时,派出别将公孙琼岩率领两千名骑兵,向南攻克马邑(山西朔县东北),打开通向东陉关(山西代县东北胡峪山上)的进兵道路,与镇守太原的王承业取得联系。
安禄山在起兵反叛确定进军路线时,其部将何千年曾建议分路出兵,全面进攻:一路由高秀岩攻击朔方,并诱使河套地区的诸蕃部落攻取关内道的盐、夏、廊、坊等郡,从北面进逼关中;一路由李归仁、张通儒自云中南下攻取太原,进而取蒲关(陕西大荔东黄河岸边),夹攻关中;一路由安禄山率兵南下,从河阳(河南孟县)渡河攻取洛阳;一路由蔡希德、贾循渡海攻取淄(山东淄博)、青(山东益都)等郡,动摇江淮。但是,这一可致唐王朝于死命的建议,却被蛮勇少谋的安禄山拒绝了。这样一来,郭子仪东进得胜显得至为重要。郭子仪的攻势,不仅打通了朔方军与河东军的联系,使叛军南下太原进趋蒲州(山西永济)的计划成为泡影,而且为下一步东出井陉关,进军河北奠定了良好的开端。
随着唐军的节节胜利,各地的守将都开始杀死叛军,反正唐朝,而此时的安禄山的老巢范阳,也已经是处在万分危急当中,而且几乎是与外界隔绝。很多家在范阳的叛军将士,看到自己的家乡已经是非常的危急,都已经无心恋战。面对军中士气低落的现状,以及郭子仪的猛烈反攻,安禄山极其恐惧,大骂谋士高尚、严庄等谋士。安禄山身边的将士深知安禄山喜怒无常,嗜杀成性,所以,很多人都不敢在安禄山面前说话。而受到安禄山斥责的高尚、严庄的人更是好几天不敢见安禄山。安禄山又召集谋臣商议,打算放弃洛阳,撤回范阳。至此,唐朝军队在郭子仪的领导下,开始由当初的败退守城,变为主动进攻,由当初的颓势变为现在的强势。郭子仪临危受命,不愧是大唐王朝的保家卫国的千古功臣。然而,在当时的复杂形势下,虽然战事有所好转,但是朝廷内部依然是奸佞当道,要想平息叛乱,依然任重而道远。