朔方節度使郭子儀率部東討安祿山。不久,郭子儀收複靜邊軍(今山西右玉縣),斬殺叛
將周萬頃,又在河曲擊敗叛將高秀岩,收複雲中(今山西大同)、馬邑(今山西朔縣),開通東陘關(在今山西代縣東南),因功加封禦史大夫。
河北的形勢危急,郭子儀率軍救饒陽,與史思明血戰二十九天,未分出勝負。
756年(至德元載),叛軍攻破常山郡(今河北正定),占領河北全境。
李光弼率領朔方軍五千人進攻常山,當地團練兵將自己的將領史思義綁來投降。
有人勸殺了史思義,李光弼卻親自為其鬆綁。史思義很感動,供出叛軍動向。
次日,史思明率二萬騎兵直壓常山城下,李光弼向史思義問計,史思義說:“今軍行疲勞,逢敵不可支,不如按軍入守,料勝而出。虜兵炎銳,弗能持重,圖之萬全。”李光弼接受了降將史思義意見,守城不出,把軍隊分成四對,以勁弩五百連番射敵,叛軍死傷慘重,退兵。
當時,史思明的騎兵到了城下,步兵遠遠拋在後麵。
當叛軍的步兵在野外吃飯時,李光弼得到一位百姓的報告,立刻派輕騎數千,突然襲擊,一舉消滅叛軍五千,收複常山郡九縣中的七縣。十月,郭子儀率軍來常山與李光弼會師。
史思明一看大事不好,就和蔡希德分頭搬救兵。安祿山給蔡希德兩萬兵馬,史思明從範陽調兵三萬,準備與唐軍決戰。
郭子儀覺得現在還不是決戰的時機。
當叛軍進攻時,郭子儀正麵堅守;待叛軍收兵時,突然發動進攻。夜間,郭子儀派出數股小部隊,襲擾叛軍。連續數天,叛軍已經疲憊不堪。
郭子儀與李光弼一商量,一致認為可以反攻了。
唐軍在嘉山與叛軍決戰,大破之,斬首四萬,俘千餘人。
李光弼收複常山,而郭子儀也兵出井陘關,與李光弼一同擊破史思明,平定槁城。此後,郭子儀南攻趙郡(今河北趙縣),斬殺叛軍任命的太守郭獻璆,回軍常山。
郭子儀返回常山時,史思明又集結兵馬尾隨其後。郭子儀命驍騎輪番挑戰,乘叛軍疲憊之機,在沙河將其擊敗。
史思明逃回博陵(今河北定州市)。在郭子儀兵威之下,河北各郡縣都斬殺叛軍守將,迎接朝廷軍隊。
唐玄宗殺高仙芝、封常清的這一錯誤處置不僅自毀長城,還引起了軍心的動搖,也使唐廷喪失了兩員具有作戰經驗的大將,對平定安史之亂造成了嚴重的不利影響。事實證明,封常清退保潼關的戰略是十分正確,如果這一計劃得以實施,戰爭絕不會曠日持久。但也隻不過是唐廷犯的第一個戰略錯誤而已,後來的哥舒翰、李泌、郭子儀、李光弼等將帥都提出過重要的戰略計劃,但都被唐廷先後否認了,這都是唐廷的腐敗無能造成的。
安祿山的大軍雖然遇上阻礙,但由於楊國忠的無能,使安祿山於同年十二月十二就攻入洛陽。安祿山從範陽起兵,長驅直入,至十二月十三日攻占東都洛陽,僅用了三十五天時間。在這短短的時間內,就控製了河北大部郡縣,河南部分郡縣也望風歸降。
天色已晚,玄宗怔怔地望著潼關方向,他在等什麼呢?
原來,每隔三十裏,就有一個烽火台。每天晚上,如果潼關平安,就會點烽火,向長安報平安。已經幾天了,那把希望之火都沒有看見,玄宗愈發不安,他有一種不好的預兆。
清晨,一夜未睡的玄宗剛剛有睡意,就被高力士叫醒。