公元755年,唐天宝十四年十一月。手握18万大军,掌握唐帝国北方三镇的节度使安禄山悍然起兵叛乱,燕军兵分左、中、右三路南下,战事随即席卷全国。唐天宝十五年六月,大唐都城长安最后一道屏障潼关被安禄山攻陷,潼关守将哥舒翰被俘。随着潼关被攻陷,燕军得以长驱直入,直捣唐帝国首都长安。唐玄宗李隆基在禁军将领陈玄礼等人的掩护下,出逃成都避难。太子李亨则北上灵武称帝,是为唐肃宗。
安禄山攻陷长安后,随即将目光移向了江淮地区,并派遣军队展开进攻。
公元757年,唐至德二年正月。安禄山之子安庆绪与安禄山因立储问题起了争执,恼羞成怒的安庆绪唆使宦官李猪儿持刀杀害了安禄山。事后安庆绪自立为大燕皇帝。
安史之乱爆发后,江淮地区成了唐廷的经济命脉,睢阳可谓江淮地区的最后屏障。此时负责守卫睢阳的是许远、张巡,守军共计 6800人。许、张依靠城池固守、严阵以待。燕将李庭望率部连攻数日都被击退,伤亡惨重。
眼见睢阳久攻不下,同年二月,安庆绪任命大将尹子奇为河南节度使,进攻睢阳。他命令部队日夜攻城,连连不休。面对燕军猛烈的蚁附战术,张洵亲自坐镇城头督战,与燕军战事持续了半个月。结果唐军不但守住了城池,更先后歼灭燕军二万人,擒获敌将六十余人,士气高涨,燕军受挫,只能暂缓攻势。
为了扭转颓势,尹子奇不断向后方征调兵力,兵马数量一度增长至 18万之多。张巡为了疲惫敌人,于夜间在城内鸣鼓整队,假装将要出击。燕军通宵达旦,不敢休息,处于戒备状态。等到凌晨时分,燕军在懈怠松弛之际,张洵率精兵从城门杀出,直冲尹子奇的中军大营。等到燕军负责守备的士兵反应过来,张巡已杀到燕军营地内,燕军顿时一片混乱。此役,张巡又斩燕将50余人,歼敌5000余人,燕军锐气再次大挫。
为一劳永逸的解决睢阳之围,张巡决定采取擒贼先擒王的战略方针,命手下南霁云拉弓射杀尹子奇。南霁云挽弓搭箭,看准时机,一剑正中尹子奇左眼。主将重伤,燕军陷入混乱,张洵便率唐军将士趁势出击。尹子奇带伤败逃,睢阳之围暂时解除。
但安庆绪对睢阳势在必得,卷土而来也只是时间问题。公元757年,唐至德二年七月初六,尹子奇养好伤病,再次聚拢军队数万,围攻睢阳。这一次他吸取了前几次强攻的教训,采取了围而不攻的战术,打算利用后勤优势困死睢阳。
睢阳城内粮草消耗渐进,唐军连每日一合米都无法保障,食不果腹的唐军将士只能在城中罗雀掘鼠,甚至煮盔甲、烹弓弦充饥。到最后城中连鸟鼠都无处寻觅,为了生存,军民只能易子而食。睢阳城中人心惶惶,张洵担心生变,随即带出自己的妾,当着三军的面杀了,令将士把自己的爱妻分食,许远也杀了自己的仆奴充当军粮。张洵又命令唐军抓城中的妇女烹食,把妇女吃完以后又开始吃老人与小孩,城中的百姓也未作抵抗。
尹子奇在得知城中粮尽后,先用云梯攻城,又造钩车攻城皆被张巡化解,攻守双方陷入了相持阶段。万般无奈之下,张洵令部将南霁云坠城而下,率 30精骑突围求援,作最后一搏。南霁云顺利突围后,就像临淮的河南节度使贺兰进明求援。贺兰进明出于自身前途并不打算援助睢阳的张巡,就随便找了一个理由搪塞了南霁云的求助。随后,他又接连向彭城的尚衡、谯郡的许叔冀求救,但这些人都想保全自己的军队,不愿前往救援睢阳。南霁云一路求援,最后只是得到了真源、宁陵城使李贲和廉坦步骑共计3000人的帮助。燕军将睢阳围了个水泄不通,张洵又寻遍援兵不得,睢阳城局势岌岌可危。
公元757年,唐至德二年八月。无计可施的张巡只能借机在睢阳城头劝降城下巡逻的燕军将领,燕军围攻睢阳期间,张洵共招降燕军将士200余人。等到了10月中旬,尹子奇认为攻陷睢阳城的时机已到,率领18万大军强攻睢阳,最终睢阳城为燕军攻陷。张洵、许远、南纪云等36员睢阳守将皆被俘虏。
睢阳一战,张巡以一城之力拖住燕军 10月之久。大小战役400余场,唐军共在睢阳杀死燕军12万人。燕军取得了睢阳之战最后的胜利,却已错失了最佳进攻江淮地区的时间。睢阳城破之日,全城寸草不生,惨烈程度,历史之未有。